关于图的几个小问题

17 篇文章 0 订阅
14 篇文章 0 订阅
1、DFS遍历一个无环有向图,并在DFS算法退栈返回的时候打印相应的顶点,则输出的顶点序列是逆拓扑排序。
分析:当有向图中不存在环的时候,也可以采用深度优先遍历的方式进行拓扑排序,由于图中不存在环,
最先出栈的是出度为0的顶点,也就是拓扑排序的最后一个顶点,因此按照退栈顺序打印的顶点是逆拓扑排序。

2、深度优先遍历和广度优先遍历可以判断有向图中是否有环

3、关键活动构成了关键路径。关键路径是图中的最长路径。关键路径长度代表了整个工期的最短时间。关键
活动延期完成,必然导致关键路径的长度增加。
关键路径并不唯一,当有多条关键路径存在的时候,其中一条关键路径上的关键活动时间缩短,只能使得本条
关键路径变成非关键路径,而其他的关键路径上的时间并没有缩短,因而整个工期不会缩短。
4、图的深度优先遍历的时间复杂度分析:
遍历图的过程实质上是对每个顶点查找其邻接点的过程,所耗费的时间取决于所采用的存储结构。
对图中的每个顶点至多调用1次DFS算法,因为一旦某个顶点已访问过,则不再从它出发进行搜索。
邻接链表表示:查找每个顶点的邻接点所需时间为O(e),e为边(弧)数,算法时间复杂度为O(n+e)
数组表示:查找每个顶点的邻接点所需时间为O(n2),n为顶点数,算法时间复杂度为O(n2)

5、图的广度优先遍历
由于每个节点仅被发现一次,因此每个节点入栈和出栈各一次,时间均为O(1),故入栈和出栈总时间为O(n);
由于需要对每个节点的邻接表进行扫描,时间为O(Adj[u]),总时间为O(e);综上所示,广度优先搜索的时间
复杂度为O(n+e).即是图邻接表大小的线性函数。
数组表示:查找每个顶点的邻接点所需时间为O(n2),n为顶点数,算法时间复杂度为O(n2)

6、树的后序遍历是指先依次后序遍历每棵子树,然后访问根结点。当树用二叉树表示法
(也叫孩子兄弟表示法)存储时,可以找到唯一的一棵二叉树与之对应,我们称这棵二叉树
为该树对应的二叉树。那么根据这个法则可知,树的后序遍历序列等同于该树对应的二叉树
的中序遍历。

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值