图的邻接链表实现下的搜索两点之间所有路径的算法
算法用C++实现
为什么要写这个算法呢?苦于在网上查找只有邻接矩阵的实现,所以自己弄了一个邻接链表的实现,可以提高速率
实现方式是使用三个栈 其中一个栈用来遍历所有顶点,第二个栈用于记录第一个栈的父母结点,第三个栈用来记录正在遍历的其中一条路径
需要三个路径的原因是:每次将一个结点加入进第三个栈时,需要确定第三个栈顶元素是加入元素的父母结点
还需要一个数组用来记录结点是否被访问过
原创
2017-12-08 10:59:28 ·
2457 阅读 ·
3 评论