Junior — Middle
Ako sa určuje účinnosť algoritmu z hľadiska doby behu a využitia zdrojov?
sobes.tech AI
Odpoveď od AI
Efektivita algoritmu sa hodnotí na základe dvoch hlavných kritérií:
-
Časová zložitosť — koľko času trvá vykonanie algoritmu v závislosti od veľkosti vstupných údajov. Zvyčajne sa vyjadruje v notácii "O" (napríklad O(n), O(n²)). Čím je časová zložitosť nižšia, tým je algoritmus rýchlejší.
-
Pamäťová zložitosť — koľko pamäte alebo iných zdrojov algoritmus využíva. Taktiež sa vyjadruje v notácii "O".
Pre praktické hodnotenie sa často meria skutočný čas behu a spotreba pamäte pomocou profilov alebo vstavaných nástrojov (napríklad Stopwatch v C#).
Príklad merania času v C#:
var stopwatch = System.Diagnostics.Stopwatch.StartNew();
// volanie algoritmu
stopwatch.Stop();
Console.WriteLine($"Čas behu: {stopwatch.ElapsedMilliseconds} ms");
Takže efektivita je rovnováha medzi rýchlosťou a využitím zdrojov, optimálna pre konkrétnu úlohu.