算法学习
文章平均质量分 79
莓莓不加糖
这个作者很懒,什么都没留下…
展开
-
Boyer-Moore算法:多数投票算法(majority voting algorithm)
这里的count代表的就是当前的candidate与其他元素之间出现次数的差距的绝对值,最后的candidate就是所找出的出现次数最多的元素(众数,也可以想成是得票最多的人)。上述过程与下面的动画所示是一致的。众数(majority element)的数目必须。时,count就增加1;的时候,candidate更新为。遍历数组,当遍历到的数组元素。时,count就减1;证明过程可以参考论文。原创 2023-09-11 18:33:37 · 484 阅读 · 0 评论 -
Dijkstra(迪杰斯特拉)算法:单源最短路径算法
算法目的以较小的时间复杂度求解加权有向图中一个原点到其余各个点的最短路径。算法原理将加权有向图中的点分为S和U两个集合,在S集合中,存储当前已经判断出和原点最小路径的点和相应到原点的最小距离的值;在U集合中,存储当前还未判断出最小距离的其他点。算法的运行过程中,刚开始S集合中只放原点,如下图中原点是D,它距离原点(本身)的距离是0,因此记作S = {D(0)};对于U集合当中的点表达方式亦然,但注意,如果一个点不和原点直接相连,则距离为∞。之后,每一次遍历,都选取U集合中距离原点D最小的点存入S中,原创 2022-04-13 10:23:22 · 2137 阅读 · 0 评论