Algorytm szybkiego sortowania - optymistyczny przypadek -jaki?

Algorytm szybkiego sortowania - optymistyczny przypadek -jaki?
EE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
0

Cześć,
Analizuje algorytm szybkiego sortowania - wersje, gdzie zawsze porównuje z pierwszym elementem.
Myślałem, że najoptymalnym przypadkiem będzie ciag uporzadkowany, ale okazala sie ze randomowy jest zdecydowanie lepszym...

Althorion
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1620
3

Ta, quick sort jest o tyle nietypowym przypadkiem, że jemu uporządkowanie tablicy nie tylko nie pomaga, ale wręcz szkodzi — sortowanie już uporządkowanej kolekcji jest jego najgorszym przypadkiem.

Najlepszy, natomiast, jest wtedy, kiedy każdy z podziałów dzieli nam tablicę na równe części, bo to nam redukuje problem możliwie mocno — ostatecznie, będzie potrzebne tylko log(n) przebiegów¹. Będzie tak wtedy, kiedy pivot jest medianą szukanego przedziału.

¹ Każdy o złożoności liniowej, więc n log (n) ostatecznie na całość.

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5027

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.