Pojem iterace má v informatice dva hlavní významy podle toho, zda se díváme na samotný kód, nebo na proces vývoje softwaru.
V programování je iterace jeden konkrétní krok (opakování) v rámci cyklu. Pokud cyklus proběhne desetkrát, říkáme, že proběhlo deset iterací.
V metodikách jako Agile nebo Scrum znamená iterace časový úsek (často 2–4 týdny, tzv. Sprint), během kterého se vyvine, otestuje a nasadí část softwaru.
Každý problém řešený iterací (cyklem) lze teoreticky vyřešit i rekurzí (funkce volá samu sebe).
| Vlastnost | Iterace (Cyklus) | Rekurze (Volání sebe sama) |
|---|---|---|
| Výkon | Obvykle rychlejší a méně náročná na paměť. | Může být pomalejší kvůli režii volání funkcí. |
| Paměť | Používá konstantní prostor v paměti. | Může zaplnit zásobník (Stack Overflow). |
| Čitelnost | Přehledná pro jednoduché opakování. | Elegantnější pro procházení stromových struktur (DFS). |
Představte si, že chceme sečíst čísla v poli:
suma = 0
PRO KAŽDÉ číslo V poli: // Start iterace
suma = suma + číslo // Tělo iterace
KONEC cyklu
Každý průchod tímto cyklem, kdy přičítáme jedno číslo k celkové sumě, je jedna iterace.
Zajímavost: Pojem „Iterativní metoda“ je klíčový i v matematice a numerických výpočtech, kde se k výsledku přibližujeme postupnými opravami odhadu (např. Newtonova metoda pro výpočet odmocniny).