Junior — Middle
Jak se určuje efektivita algoritmu z hlediska doby běhu a využití zdrojů?
sobes.tech AI
Odpověď od AI
Efektivita algoritmu je hodnocena na základě dvou hlavních kritérií:
-
Časová složitost — kolik času zabere provedení algoritmu v závislosti na velikosti vstupních dat. Obvykle se vyjadřuje v notaci "O" (například O(n), O(n²)). Čím menší je časová složitost, tím je algoritmus rychlejší.
-
Paměťová složitost — kolik paměti nebo jiných zdrojů algoritmus využívá. Také se vyjadřuje v notaci "O".
Pro praktické hodnocení se často měří skutečný čas běhu a spotřeba paměti pomocí profilerů nebo vestavěných nástrojů (například Stopwatch v C#).
Příklad měření času v C#:
var stopwatch = System.Diagnostics.Stopwatch.StartNew();
// volání algoritmu
stopwatch.Stop();
Console.WriteLine($"Doba běhu: {stopwatch.ElapsedMilliseconds} ms");
Tedy, efektivita je rovnováha mezi rychlostí a využitím zdrojů, optimální pro konkrétní úlohu.