Co nás zajímá na algoritmech.
Téma 1 -- řadící algoritmy
repl na řadící algoritmy,
repl na algoritmy na vyhledávání prvku.
Téma 2 -- prohledávání grafu do šířky (BFS) a do hloubky (DFS)
Základní pojmy teorie grafů.
Typická úloha na použití BFS je hledání nejkratší cesty v grafu s neohodnocenými hranami (tedy hrany mají stejnou délku).
Úlohu ilustrujeme na šachovnicí -- hledáme nejkratší cestu koněm mezi dvěma poli.
Délky nejkratších cest koněm ze zadaného pole
repl,
cesta koněm mezi zadanými poli
repl.
Videa na DFS:
část 1,
část 2.
Ve videích není zmínka o zásobníku: do zásobníku vkládáme objevené hrany (ve videu nazývané discovered) a ze zásobníku odebíráme tyto hrany při backtrackingu (termín používaný i v češtině).
Téma 3 -- algoritmy na nejkratší cestu v grafu
Popis problému.
Pseudokód v průvodci, kapitola o nejkratších cestách, strany 147, 150.
Dijkstrův algoritmus repl.
prezentace na Dijkstrův algoritmus
prezentace na Bellman-Fordův algoritmus
prezentace k pojmům, otevřený, uzavřený vrchol, relaxace vrcholu
Téma 4 -- algoritmy na minimální kostru grafu
Jarníkův algoritmus: pseudokód Jarníkova algoritmu, důkaz správnosti včetně řezového lemmatu najdete na stranách 168 až 170
v průvodci.
Ilustrace elementárního řezu a řezového lemmatu,
ilustrace k důkazu řezového lemmatu.
K tématům 3, 4
Datová struktura halda (binární):
halda před videem,
video o haldě,
halda po videu.