图论
文章平均质量分 91
万万VV
想成为技术大牛的软件工程专业菜鸡学生一枚......
展开
-
查找树的LCA(Least Common Ancestor)算法
Euler Tour of A TreeETT即Euler-Tour-Tree,也就是采用欧拉序来访问一棵有n个node的树,例如上图所示的这棵树,欧拉序为:9 2 1 7 7 8 8 1 4 4 6 6 2 3 3 5 5 9;即将dfs(深度优先遍历)节点的入栈和出栈都进行保存,Euler Tour的长度是2n-1,因为每次遍历一条边时输出一个节点,遍历了n-1条边两次,每个方向一次。这样的好处是,可以通过欧拉序列知道所有子树的信息,比如以1为根节点的子树就包括 (1 7 7 8 8 1),1、原创 2021-02-19 19:36:26 · 638 阅读 · 0 评论 -
最短路径搜索方法对比—Dijkstra,Best-first和A* search
前言由于最近在看最短路径方面的论文,就最短路径搜索算法,这里的最短路径是泛指的,不一定是距离也可能是行进时间、花费开销等,在这里我们用实际距离。最经典的并且常常作为其它改进算法的baseline的就是Dijkstra、Best-first以及A* search,因此深入理解这些方法对于后续的研究是很重要的。根据我自己的理解以及一些论文里的解释,我将对他们做一个简要的对比(只提取我认为重要的)。评价函数(Evaluation function):这三种方法的最主要区别在于选取最短路径的下一个节点的评价原创 2020-09-20 10:40:11 · 2671 阅读 · 0 评论