大家好,想跟大家討論一下最後一題,
題目大致是說undirected graph要求"strongly" connected components,
要求寫出及分析演算法。
我對於題目有些疑問,因為strongly connected應該是用來描述directed graph吧?
undirected graph就直接說(connected) components不是嗎(還是有人看過這個說法?)
為此我查了書上的定義,
1.Discrete and Combinatorial Mathematics: An Applied Introduction, 5e by
Ralph P. Grimaldi
p.351, Definition 7.15
A directed graph G on V is called strongly connected ...
2.Fundamentals of Data Structures in C, 2e by Horowitz
p.270,
A directed graph G is said to be strongly connected iff for every
pair....
所以我認為題目的敘述是有瑕疵的,若是要求undirected graph的components,可用
DFS/BFS來解;
但若是求directed graph的strongly connected components,就比較困難,沒看過
這個演算法應該很難自己想出來,
Kosaraju's Algorithm
http://www.csie.ntnu.edu.tw/~u91029/Component.html#5
各位的看法如何呢?謝謝。