Algoritmaların 2. baskısına giriş okuyorum, ve bir soru var ki n tamsayılarını, 0 ile n arası -1 arasında lineer zamanda sıralayabiliyoruz. IBM'in çapsal sıralama yaklaşımı düşünüyorum. En az anlamlı basamakla başlarım, en az anlamlı rakamlara göre ayrı sayıları alıyorum ve sonra sıralayın, sonra bir sonraki en az anlamlı basamağa göre ayırın. Her ayrıştırma O (n) zamanını alır. Ancak, şüphesiz, örneğin, sayılardan biri n basamaktan oluşuyorsa, o zaman algoritma O (1 * n + 2 * n + ... + n * n) = O (n) zamanını alır, sağ? Sayıların n haneden daha az oluşundan emin olabilir miyiz, ya da kimse soru için başka bir ipucu verebilir mi? TeşekkürlerDoğrusal zamanda sıralama
cevap
Radix Sıralama karmaşıklığı, d
ile bir sayıdaki basamak sayısı olarak O(dn)
'dir.
Algoritma yalnızca d
sabit olduğunda doğrusal modda çalışır! Sizin durumunuzda d = 3log(n)
ve algoritmanız O(nlog(n))
'da çalışacaktır.
Doğruluğunda bu sorunu nasıl çözeceğimi bilmiyorum. Sayıların doğasıyla ilgili başka bir bilgi parçacığı var mıdır? Sayıların doğasıyla ilgili herhangi bir bilginin eksik olup olmadığını merak ediyorum ...
cevabınız için teşekkürler, cevabı aslında buldum, sayıları 2- olarak ele alıyoruz Radyal numaradaki sayıları n sonra 2 basamaklı sayıları sıralarız. Toplam süre O (n) – yrazlik
2 rakamlı 'tuşlarda' bir sayı koparırsanız, 'd = 3log (n)/2' ile bitmez mi? Algoritmanın ayrıntılı bir analizine ilişkin bir bağlantınız var mı? teşekkürler – Gevorg
ACtually, kitabın öğretim üyesinin el kitabından buldum ve işte tam olarak ne diyor: Sayıları nx cinsinden 2 basamaklı sayılarla işleme. Her rakam 0 ile n −1 arasında değişir. Bu 2 basamaklı sayıları radix sort ile sıralayın. Sayma sıralaması için 2 çağrı vardır, her biri Θ (n + n) = Θ (n) zaman alır, böylece toplam süresi Θ (n) olur. – yrazlik
Bir kelime RAM modeli varsayarsak, ve o, N'ye uyuyor. (1) kelimeler, doğrusal bir zaman algoritması vardır.
Her sayıyı baz n'ye yazın ve bir yarıçap sıralaması yapın (sayım sıralamasının durağan bir sayım türüyle birlikte).
Sınırsız n'yi varsayalım, daha sonra giriş kütüğünün büyüklüğünü, n '' n '' n '' n '' (n = n (n = n) ') tekrar işleyecektir. Doğrusal zaman algoritması! (Tabii ki, sanırım bunu hala aritmetik olduğunu varsayalım O (1) ...)
'linearithmic' aslında 'doğrusal' mı? – Gevorg
Sadece bir süredir konuştuğumuzdan beri takip etmek için! :) 'O (nlog (n))' a nasıl ulaştığınızdan emin değilim, fakat bunu lineer bir çözüm olarak kabul ederseniz, sorun QuickSort, MergeSort veya başkalarının iyi bir uygulamasıyla önemsiz bir şekilde çözülecektir. – Gevorg
@Gevorg: Hayır, tamsayıları karşılaştırarak O (log n), ve Quicksort vb. Theta (n (log n)^2) olacaktır. Temel hesaplama modeli önemlidir. Çoğu algoritma ders kitabı WORD RAM modelini kullanır ve pratikte çoğu insan bunu düşünmeden kullanır, çünkü gerçek bir bilgisayara en yakın olanıdır. Bu durumda (yani WORD RAM modelinde), giriş boyutu Theta (n), radix sorti O (n) ve quicksort vb. O (n log n) 'dir. – Knoothe
- 1. Sürekli Zamanda Clojure rseq?
- 2. aynı zamanda
- 3. Doğrusal zamanda faktörleri veya primleri bulmak için yeni bir algoritmam var - bu
- 4. Aynı zamanda php ile alın ve aynı zamanda alın.
- 5. Noda Zamanda Başlarken
- 6. ASP.NET Gridview Sıralama sıralama
- 7. C# dizi Doğrusal Arama
- 8. Java'da Ağırlıklı Doğrusal Regresyon
- 9. R doğrusal modelden log
- 10. Doğrusal süre Grafik algoritması
- 11. Haskell doğrusal cebir?
- 12. Android doğrusal hızlanma doğruluğu
- 13. CSS'de doğru doğrusal dönüşüm
- 14. doğrusal degrade köşegen gölge
- 15. sıralama
- 16. Sıralama
- 17. sıralama
- 18. F arasında sıralama sıralama F #
- 19. Bahar crud depo sıralama
- 20. Tablolar, alt grup sıralama
- 21. Klavye doğru zamanda gösteriliyor iOS7
- 22. "Doğrusal enterpolasyon" ne anlama geliyor?
- 23. Doğuştan doğrusal olmayan dağınık saçılma
- 24. Box2d: Maksimum olası doğrusal hız?
- 25. Doğrudan dijital sentezde doğrusal enterpolasyon
- 26. WinForms'de çok renkli doğrusal gradyan
- 27. Doğrusal yerleşime görünümler nasıl eklenir?
- 28. R Doğrusal Regresyonda Kategorik Değişken
- 29. ggplot2 içinde doğrusal çizgi çizilemiyor
- 30. Denklemlerin doğrusal olmayan sistemi Julia
Her sayı 0 ile n^3 - 1 arasındadır. Böylece en fazla 3 basamak baz n olacaktır. –
teşekkürler, bu bilgilerle, çözümüm doğru mu? – yrazlik
evet buna inanıyorum. –