[Homework] Advanced Graph Algorithms
Здравейте колеги,
Домашното от втората тема за алгоритми върху графи е качено.
Извинявам се за забавянето, срещнах сериозни затруднения да разпиша примери за задачи, които не съм решавал. За някои от задачите все още не сме добавили примерен вход и изход, ще се постараем близките 1-2 дни да ги допълним, за да може да тествате решенията си.
Срокът за предаване и оценяване в системата е удължен.
И аз си задавам същият въпрос :)
По-бързо е с BinaryHeap, защото операцията за намиране на най-малък елемент е константа, а DecreaseKey е със сложност log(V) . Така нареченото "преподреждане" всъщност е доста бърза операция, която е с порядъци по-добра от линейното търсене - особено при по-голям брой възли.
Edit: Пфф 2 дена по късно успях да вдяна защо приоритетната опашка е по бърза. Някой друг ако се чуди, има смисъл да е приоритетна опашка, защото винаги избирайки най-късото разстояние от началото, гарантира че когато стъпим на връх няма по-кратък път до него от старта и в продължение на това, няма смисъл да се проверява разстоянието от такъв връх до други вече обходени върхове (нещо, което трябва да правим при произволно обхождане), общо взето е това, печелим от спестяване на проверки.