Účinnost algoritmu závisí na dvou parametrech:
- Časová složitost
- 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:
- 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.
- 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ů. - 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