Příklad

  • Máme za úkol propojit města elektrickým vedením, a to tak, aby výstavba vedení byla co nejlevnější. Musíme tedy rozhodnout, mezi kterými městy máme natáhnout elektrické dráty tak, aby se elektřina mohla dostat z každého města do každého jiného města. Přitom víme, že mezi některými dvojicemi měst přímé propojení postavit nelze. Pokud města a propojit lze, známe náklady na výstavbu vedení mezi a .
  • Kostra neorientovaného grafu je jeho podgraf , který je stromem a obsahuje všechny vrcholy grafu .
  • Je-li hranové ohodnocení grafu , nazývá se kostra minimální kostra, pokud má ze všech koster grafu nejmenší hodnotu , kde

Kruskalův Algoritmus

  • Vstup:
    • Souvislý neorientovaný graf s vrcholy a hranami
    • Ohodnocení
  • Výstup:
    • Množina hran takový, že je minimální kostra grafu
  • Postup:
    1. Setřiď hrany vzestupně podle ohodnocení, tj. utvoř posloupnost všech hran z tak, že
    2. Dokud neobsahuje hran, prováděj:

Předchozí: Hledání nejkratší cesty, Dijkstrův algoritmus Následující: Stromy, kořenové stromy, vztahy mezi výškou, počtem vrcholů, počtem listů Celý okruh: 1. Teoretické základy informačních technologií