Съдържание:

Кой алгоритъм за сортиране е най-добрият в най-лошия случай?
Кой алгоритъм за сортиране е най-добрият в най-лошия случай?

Видео: Кой алгоритъм за сортиране е най-добрият в най-лошия случай?

Видео: Кой алгоритъм за сортиране е най-добрият в най-лошия случай?
Видео: CS50 2013 - Week 3, continued 2024, Ноември
Anonim

Алгоритми за сортиране

Алгоритъм Структура на данни Време сложност : Най-лошото
Бързо сортиране масив На2)
Сортиране при сливане масив O(n log(n))
Сортиране на купчина масив O(n log(n))
Гладко сортиране масив O(n log(n))

Точно така, кой вид е най-добрият в най-лошия случай?

Бързо сортиране обикновено е най-бързият, но ако искате добро време в най-лошия случай, опитайте Heapsort или Обединяване . И двете имат O(n log n) най-лошо времево представяне.

По същия начин, кой алгоритъм за сортиране има най-ниската сложност в най-лошия случай? Сортиране при сливане

Във връзка с това кой алгоритъм е най-подходящ за сортиране?

Бързо сортиране

Как намирате най-лошия и най-добрия случай на алгоритъм?

Най-просто казано, за проблем, при който входният размер е n:

  1. Най-добрият случай = най-бързото време за завършване, с избрани оптимални входове. Например, най-добрият случай за алгоритъм за сортиране би бил данните, които вече са сортирани.
  2. Най-лошият случай = най-бавното време за завършване, с избрани песимални входове.
  3. Среден случай = средноаритметично.

Препоръчано: