#图的遍历
aprilzj123
这个作者很懒,什么都没留下…
展开
-
小白算法积累——图的遍历4#邻接表+简单路径
题目:假设图用邻接表表示,设计一个算法,输出从顶点Vi到Vj的所有简单路径**关键字:**图,邻接表,简单路径**思路:**对于两个结点,他们的位置关系有且仅有两种:在同一层或者不在同一层。当在同一层时,(1)比较两者的父节点,若相同,则找到公共祖先;若不同,则比较两者父节点的父节点。当不在同一层时,对层数较高的那个结点逐渐取其父节点来减少层数,使得其层数和层数较低的那个结点相同。进...原创 2020-05-01 15:21:25 · 2958 阅读 · 4 评论 -
小白算法积累——图的遍历3#DFS&BFS,邻接表,判断指定路径的存在
题目:已知一棵二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为 i 和 j 的两个结点最近的公共祖先结点的值。**关键字:**二叉树 顺序结构 查找公共祖先**思路:**对于两个结点,他们的位置关系有且仅有两种:在同一层或者不在同一层。当在同一层时,(1)比较两者的父节点,若相同,则找到公共祖先;若不同,则比较两者父节点的父节点。当不在同一层时,对层数较高的那个结点逐渐取其...原创 2020-04-11 22:26:09 · 781 阅读 · 0 评论 -
小白算法积累——图的遍历1#判断图是否为树
题目:试设计一个算法,判断一个无向图G是否为一棵树。若是一棵树,则返回true,否则返回false关键字:图 ; 树的判断思路:判断一个图G是否为树的条件有两个:1.G必须是无回路的连通图(无回路的判断有:DFS;拓扑排序;求关键路径失败)2.G是边为n-1的连通图后者代码简单,因此本题选择后者作为思路。首先,对连通的判定:思路:用能否仅一次调用遍历搜索即可完成遍历全部顶点来判定...原创 2020-05-01 09:59:32 · 1533 阅读 · 0 评论 -
小白算法积累——图的遍历2#DFS,非递归算法,邻接表
题目:写出图的深度优先搜索算法DFS的非递归算法(图采用邻接表形式)**关键字:**图,DFS 非递归,邻接表思路:非递归算法:牺牲空间换取时间,所以新生成一个栈来存贮访问过的结点(也是下一步返回可能还要访问的结点)在深度优先搜索的非递归算法(non-recursion)中使用了一个栈S来记忆下一步可能访问的顶点,同时使用了一个访问标记数组visited[i]来记忆第i个顶点是否在栈内,若...原创 2020-05-01 11:34:00 · 509 阅读 · 1 评论