Appearance
题目
若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结论是( )。
错因
A
太绝对——以为拓扑序列一定唯一。链状图(1→2→3→...→n)确实唯一,但本题条件只规定"边都从小编号到大编号",没排除并列分支。例如 1→2、1→3、2→4、3→4 这样的图,拓扑序列既可以是 1,2,3,4 也可以是 1,3,2,4,不唯一。
B
也太绝对——以为一定不唯一。如果图本身就是单链 1→2→3→...→n,那拓扑序列只能按编号顺序,是唯一的。所以只能说"可能不唯一"。
D
忽视了"主对角线下方全 0"这个明确条件能直接判出"无环"。这条件等价于"所有边都从小编号到大编号"——按编号 1, 2, 3, ..., n 的顺序就是一个有效拓扑序列,存在性已证明。
总解析
邻接矩阵的下三角全 0 意味着什么:
设矩阵 表示有边 。条件" 时 "意味着——
所有的边都满足 ,即从小编号顶点指向大编号顶点。
结论 1:拓扑序列存在
如果按编号 的顺序输出顶点,每一条边 都满足 (出现在前)< (出现在后),完全符合"前驱在前、后继在后"的拓扑要求。所以编号顺序本身就是一个有效拓扑序列——存在性确定。
这也直接说明图是 DAG(无环):若有环 ,环上必有某条边 满足 ,违反"边都从小编号到大编号"。
结论 2:是否唯一?不一定
举两个例子说明:
- 唯一的例子:1→2→3→4(链)。拓扑序列只能是 1,2,3,4。
- 不唯一的例子:1→2、1→3、2→4、3→4。拓扑序列可以是
1,2,3,4也可以是1,3,2,4(2 和 3 没有依赖关系,谁先都行)。
两种情况都满足"主对角线下方全 0"的条件。
故结论是"存在,可能不唯一"。最终答案是 C。