算法
文章平均质量分 78
PYJTLK
这个作者很懒,什么都没留下…
展开
-
Raft论文手译(下)
继续,本篇文章将对Raft论文的后半部分进行翻译。原创 2024-01-24 15:24:48 · 871 阅读 · 0 评论 -
Raft算法详解(二):领导者选举
下一篇会讲解Raft的日志复制机制对Raft算法感兴趣的朋友还可以阅读一下我翻译的Raft论文。原创 2024-01-25 20:02:09 · 645 阅读 · 0 评论 -
Raft论文手译(上)
Raft是一种管理日志一致性的算法。它可以产生和Paxos一样的结果,和Paxos一样高效,但其结构与Paxos有所不同。相对于Paxos,Raft更通俗易懂也更容易实现其系统功能。为了更利于理解,Raft将领导者选举、日志复制、安全性等重要要素进行分离,并大幅提升它们的相关性以减少原来需考虑的状态类型。根据用户的使用反馈,相对于Paxos,Raft更易于学生学习使用。Raft还包含一种改变簇成员的全新机制,它通过冗余技术来保证安全性。一致性算法能使多台机器即使在部分成员宕机的情况下依然像一个整体一样工作。原创 2024-01-24 11:05:02 · 1002 阅读 · 0 评论 -
Raft算法详解(一):介绍
Raft是一种一致性算法,它包含了几个部分分别是领导者选举、日志复制、日志压缩和安全性。原创 2024-01-21 10:59:01 · 425 阅读 · 0 评论 -
A*算法(五):在三维地图的可行性
上一篇文章在原有的A*算法上增加了权值,解决了混合型地图的最短时间循迹问题。本篇文章我们来讨论一下A*算法,在三维地图上可行性。可行性讨论在二维空间上,我们把地图分割成许许多多大小一致的正方格。而在三维空间,我们就得考虑高度了。于是一个三维地图就可以通过许许多多大小一致的正方体来表示。A*算法用在三维空间无非就是把高度也考虑进去。但是在二维空间里,方格最多只要考虑8个方向,而三维空间的方块最多得考虑26个方向(3*3*3 - 1),这对于一般的遍历算法来说,工作量是巨大的。为了减少遍历,我们可以尝原创 2022-01-26 15:38:33 · 3872 阅读 · 0 评论 -
A*算法(四):权值与混合型地图
上一篇文章讨论了双向策略以及类似的算法,本篇文章在原有A*算法上进行更深入的思考,看看如何通过权值来解决混合型地图的循迹问题。思想与思路我们先来思考一个问题。100米的水泥地、100米的沙地和100米的泥潭,很显然在水泥地上跑是最快的。那么在方格地图上应该怎么表示呢?用不同颜色表示就可以了,如下图,灰色是水泥地,黄色是沙地,棕色是泥潭。此时又有一个问题,“最小代价”指的是什么?看看下面的图片。如果“最小代价”是指距离长度,那么蓝色就是“最小代价”的路线,而不是红色。我们给不同地质的方块设定一个原创 2022-01-26 14:04:55 · 1257 阅读 · 1 评论 -
A*算法(三):双向策略与类似算法
上一篇讲解了8方向A*算法的执行过程,本篇文章讲解双向A*算法。思想与思路“双向”策略其实在很多算法里都有使用过,主要是起到优化的作用。例如冒泡排序,单向冒泡排序每一趟都能确定一个元素的最终位置。如下图,冒泡排序会依次把8、7、6…放在最终位置。使用双向策略,那么每一趟就能确定两个元素的最终位置。如下图,依次确定8和1、7和2、6和3…,当两个指针相遇时,排序就完成了。类似地,A*算法也可以尝试双向策略。起点和终点同时探索,如下图,相遇时结束。但是,所有A*算法的执行都有一个重要的条件,那就原创 2022-01-26 12:05:05 · 2001 阅读 · 0 评论 -
A*算法(一):4方向
介绍与准备A算法是一种用于方格地图寻找最短路径的算法,这种算法适用于静态地图。本篇文章讲述A算法的最简版本,也就是只考虑四个方向的A*算法。所谓的四个方向就是指可以上下左右移动,但不允许斜着移动。方格内有A,B,C三个变量。A指初始位置到当前方格的最小代价B指当前方格到终点的估计代价C指A + B的值例如下图,橙色方块A = 1,B = 5,C = 1 + 5 = 6。B所谓的估计代价就是当前方块与终点的横向差值(绝对值)和纵向差值(绝对值)的和。对于橙色方块而言横向差值为3,纵向差值为2,所原创 2022-01-26 00:41:34 · 1840 阅读 · 0 评论 -
A*算法(二):8方向
上一篇文章讲解了A*算法的最简版本,本篇文章在4方向A*算法的基础上讲解8方向的情况。准备工作在讲解8方向A*算法前,我们需要想想这个“最小代价”是指什么。第一种情况,如下图,如果离开A到周围的8个方格的代价均是1,那么从起点到终点的“最小代价”就是指最少需要走几步。第二种情况,如下图,如果斜着走的代价是√2,那么从起点到终点的“最小代价”就是指最小距离长度。和上一篇一样,我们给方格定义变量A、B、C...原创 2022-01-26 11:11:32 · 2293 阅读 · 2 评论