yani for i=1, 2, ..., n-k
Elimizdeki:Kısmen Sıralı Dizi için Minimum Zaman? Biz, kısmen sıralanan dizi A verilir
A[i]<= A[i+k]
, en azından O(n log k)
zaman gerekir.
Bu aksiyomu her zaman doğru yapan koşul ve çözüm nedir?
yani for i=1, 2, ..., n-k
Elimizdeki:Kısmen Sıralı Dizi için Minimum Zaman? Biz, kısmen sıralanan dizi A verilir
A[i]<= A[i+k]
, en azından O(n log k)
zaman gerekir.
Bu aksiyomu her zaman doğru yapan koşul ve çözüm nedir?
Bu sorundan kabuk sıralamasını kullanabilirsiniz. Bu algoritmada, Her aşamadan sonra ve her bir artış için, her i için bir [i] ≤ a [i + hk] var. hk aralıklı tüm elemanlar sıralanır. Bu dizinin hk - olduğu söylenir. kabuk sıralaması çıktı 1-sıralanır. dizisi k-sort ise, kabuk dizisi sıralama dizisi için O (log k) dizisine ihtiyaç duyar. Her faz O (n) ye ihtiyaç duyar, o zaman toplam düzen O (n log k) olur.
bu diziyi sıralamak istediğinizi varsayalım:
bu dizi-4 sıralanır(k = 4). Bunu sınıflandırmak için, 2 faza ihtiyaç vardır (h2 = 2, h3 = 1) İki faza ihtiyaç vardır (lg 4 veya lg k). Her aşamada, dizilmesi gereken n/k alt dizileri vardır. her alt dizi ekleme sıralama ile sıralar. Her alt dizinin sıralama sırası O (n). Son olarak, Toplam sipariş O (n * lg k) = O (n log k).
'dizisi k-sort ise, kabuk dizisi sıralama dizisi için O (log k) dizisine gerek duyar '- Bunun için bir ispat fikri göstermek iyi olur. – MBo
Cevabımı düzenledim, bakın. –
@DaviedZuhraph Size yardımcı oluyorsa lütfen bu cevabı kabul et ve kabul et, bu yüzden insanlar bunun doğru cevap olduğunu biliyor ve onlara yardım ediyor. –
http://www.geeksforgeeks.org/nearly-sorted-algorithm/ – displayName
Bu aksiyomu nereden okudunuz? – displayName