Turinys:

Kuris rūšiavimo algoritmas yra geriausias blogiausiu atveju?
Kuris rūšiavimo algoritmas yra geriausias blogiausiu atveju?

Video: Kuris rūšiavimo algoritmas yra geriausias blogiausiu atveju?

Video: Kuris rūšiavimo algoritmas yra geriausias blogiausiu atveju?
Video: A Detailed Algorithmic Analysis of Insertion Sort. Best Case & Worst Case. 2024, Balandis
Anonim

Rūšiavimo algoritmai

Algoritmas Duomenų struktūra Laikas sudėtingumo :Blogiausias
Greitas rūšiavimas Masyvas O (n2)
Sujungti rūšiavimą Masyvas O(n log(n))
Krūvos rūšiavimas Masyvas O(n log(n))
Lygus rūšiavimas Masyvas O(n log(n))

Taigi, kuri rūšis yra geriausia blogiausiu atveju?

Greitas rūšiavimas paprastai yra greičiausias, bet jei norite gero blogiausio atvejo laiko, išbandykite Heapsort arba Mergesort . Abu jie turi O(n log n) prasčiausią laiką.

Panašiai, kuris rūšiavimo algoritmas turi mažiausią blogiausio atvejo sudėtingumą? Sujungti rūšiavimą

Atsižvelgiant į tai, kuris algoritmas yra geriausias rūšiavimui?

Greitas rūšiavimas

Kaip rasti blogiausią ir geriausią algoritmo atvejį?

Paprasčiausiai kalbant apie problemą, kai įvesties dydis yra n:

  1. Geriausias atvejis = greičiausias užbaigimo laikas, pasirinkus optimalias įvestis. Pavyzdžiui, geriausias rūšiavimo algoritmo atvejis būtų jau surūšiuoti duomenys.
  2. Blogiausias atvejis = lėčiausias užbaigimo laikas, pasirinkus pesimines įvestis.
  3. Vidutinis atvejis = aritmetinis vidurkis.

Rekomenduojamas: