logo

Časová složitost všech třídicích algoritmů

Účinnost algoritmu závisí na dvou parametrech:

  1. Časová složitost
  2. Vesmírná složitost

Časová náročnost:

Časová složitost je definována jako počet provedení konkrétní sady instrukcí spíše než jako celkový čas. Je to proto, že celkový čas závisí také na některých vnějších faktorech, jako je použitý kompilátor, rychlost procesoru atd.



Prostorová složitost:

Prostorová složitost je celkový paměťový prostor, který program potřebuje ke svému provedení.

Obě jsou vypočteny jako funkce vstupní velikosti (n). Jedna důležitá věc je, že navzdory těmto parametrům závisí účinnost algoritmu také na Příroda a velikost a vstup.

Druhy časové složitosti:

  1. Nejlepší časová náročnost: Definujte vstup, pro který algoritmus trvá kratší dobu nebo minimální dobu. V nejlepším případě vypočítejte dolní mez algoritmu. Příklad: Při lineárním vyhledávání, kdy jsou vyhledávací data přítomna na prvním místě velkých dat, nastává nejlepší případ.
  2. Průměrná časová složitost: V průměrném případě vezměte všechny náhodné vstupy a vypočítejte dobu výpočtu pro všechny vstupy.
    A pak to vydělíme celkovým počtem vstupů.
  3. Nejhorší časová složitost: Definujte vstup, pro který algoritmus trvá dlouho nebo maximálně. V nejhorším případě vypočítejte horní mez algoritmu. Příklad: Při lineárním vyhledávání, kdy jsou vyhledávací data přítomna na posledním místě velkých dat, nastává nejhorší případ.

Následuje stručný revizní list, na který se můžete na poslední chvíli podívat:



Algoritmus Časová složitost Vesmírná složitost
Nejlepší Průměrný Nejhorší Nejhorší
Výběr Seřadit Na2) Na2) Na2) O(1)
Bublinové řazení Na) Na2) Na2) O(1)
Řazení vkládání Na) Na2) Na2) O(1)
Řazení haldy O(n log(n)) O(n log(n)) O(n log(n)) O(1)
Rychlé řazení O(n log(n)) O(n log(n)) Na2) Na)
Sloučit třídění O(n log(n)) O(n log(n)) O(n log(n)) Na)
Třídění lopaty O(n + k) O(n + k) Na2) Na)
Seřadit Radix O(nk) O(nk) O(nk) O(n + k)
Hrabě Řadit O(n + k) O(n + k) O(n + k) Šipka)
Shell Třídit O(n log(n)) O(n log(n)) Na2) O(1)
Tim Sort Na) O(n log(n)) O(nlog(n)) Na)
Třídění stromů O(n log(n)) O(n log(n)) Na2) Na)
Cube Třídit Na) O(n log(n)) O(n log(n)) Na)

Viz také:

  • Vyhledávání a řazení článků
  • Předchozí rok GATE Otázky k řazení
  • Časová a prostorová složitost řazení vložení
  • Časová a prostorová složitost třídění výběru
  • Časová a prostorová složitost bublinového třídění
  • Časová a prostorová složitost rychlého řazení
  • Časová a prostorová složitost slučovacího řazení
  • Časová a prostorová složitost Radixova třídícího algoritmu