12. Представяне на граф. Обхождане на граф
Дефиниции [5.1, стр. 247]
* Връх, възел (vertex, node), дъга, ребро (arc, edge), n
върха, m ребра
* Ориентиран и неориентиран граф, претеглен граф,
компоненти на свързаност
* Примери
* Път в граф, цикъл, свързан граф
* Мултиграф (повторение на
ребра)
* Предшественици и наследници,
инцидентност, съседност, степен на връх
* Пълен граф, двуделен граф, подграф
* Дърво (неориентиран
свързан граф без цикли), кореново дърво, покриващо дърво
Представяне [5.2]
* Списък на ребрата [5.2.1]
памет O(m), съседни ребра O(m) или O(logm)
* Матрица на съседство (достижимост) [5.2.2]
памет O(n2), съществуване на ребро между
два върха O(1), наследници на връх O(n)
* Списък на наследниците [5.2.3]
памет O(m), наследници на връх O(1), ребро
между два върха O(бр.насл.) или O(log бр.насл.)
* Матрица на инцидентност връх - дъга [5.2.4]
памет O(m.n), ребро между два върха O(m)
Обхождане [5.3]
*Обхождане в ширина (DFS)
[5.3.1]
*Обхождане в дълбочина (BFS)
[5.3.2] лекция
в MIT
*Най-кратък път между два върха по брой на върховете [5.4.1]
*Проверка за цикличност [5.4.1]
*Намиране на всички прости пътища между два върха [5.4.1]