Yığın sıralama algoritmasının karmaşıklığı nedir?
Yığın sıralama algoritmasının karmaşıklığı nedir?

Video: Yığın sıralama algoritmasının karmaşıklığı nedir?

Video: Yığın sıralama algoritmasının karmaşıklığı nedir?
Video: Yığın (Heap) ve Yığın Sıralaması (Heap Sort) Veri Yapıları 11 2024, Mayıs
Anonim

Yığın sıralama, yerinde bir algoritmadır. ZamanKarmaşıklık : Zaman karmaşıklığı heapify'ın değeri O(Logn). Zaman karmaşıklığı createAndBuildHeap() öğesinin O(n) ve genel zaman karmaşıklığı Yığın Sıralamanın O(nLogn) değeridir.

Bununla ilgili olarak, yığın sıralama algoritması nedir?

Yığın sıralama algoritması iki temel bölüme ayrılmıştır: Yığın sıralanmamış listenin/dizinin. Sonra bir sıralanmış dizi, en büyük/en küçük öğenin art arda çıkarılmasıyla oluşturulur. yığın , ve onu diziye eklemek. NS yığın her kaldırma işleminden sonra yeniden yapılandırılır.

Benzer şekilde, bir yığın sıralama algoritmasının tipik çalışma süresi nedir? Ancak, hızlı sıralamanın en kötü durumu var çalışma süresi of O (n 2) O(n^2) O(n2) ve O'nun en kötü durum uzay karmaşıklığı (log ? n O(log n O(logn), yani hızlı en kötü duruma sahip olmak çok önemliyse) çalışma süresi ve verimli alan kullanımı, yığın sıralaması en iyi seçenektir.

Benzer şekilde Heapify fonksiyonunun karmaşıklığı nedir diye sorulur.

Ana fikir, build_heap içinde algoritma gerçek yığmak tüm öğeler için maliyet O(log n) değildir. yığmak denir, çalışma süresi, işlem sona ermeden önce faran öğesinin ağaçta ne kadar aşağı hareket edebileceğine bağlıdır. Başka bir deyişle, öğenin öbek içindeki yüksekliğine bağlıdır.

Hangi sıralama algoritması en iyi asimptotik karmaşıklığa sahiptir?

İçin En iyisi vaka Ekleme Çeşit ve Yığın Sırala en iyisi biri onlarınki gibi en iyisi vaka çalışma süresi karmaşıklık O(n)'dir. Ortalama durum için en iyi asimptotik Çalışma süresi karmaşıklık Merge tarafından verilen O(nlogn) Çeşit , Yığın Çeşit , Hızlı Çeşit . En Kötü Durum İçin en iyisi Çalışma süresi karmaşıklık Merge tarafından verilen O(nlogn) Çeşit , Yığın Çeşit.

Önerilen: