基础知识-算法
arkas_
这个作者很懒,什么都没留下…
展开
-
算法笔记:Dijkstra算法
迪杰斯特拉算法的核心在于,我们标记的“已访问”的节点,是已经通过多次探索权值最小项来确定好了到该节点的加权路径已经是确定的最小值了,所以可以通过本次“已访问”的节点来去继续访问其他节点而不用去担心产生因为已访问的节点值改变而产生其他节点的值变化,因为以访问的节点的值已经固定最小了。代码实现:package mainimport "fmt"const MAXVEX int = 9const MAXWEIGHT int = 1000func NewGraph() [MAXVEX][MAXVE原创 2022-03-14 11:08:26 · 381 阅读 · 0 评论 -
算法笔记:KMP算法
KMP算法的核心在与比起暴力匹配算法,多出一个回溯表来阻止进行过度回溯。所以我们的首要工作就是建立回溯表。建立回溯表的过程,按照我的理解方式是:通过判断子串当前指针所在位置的前n位与子串前n位字符完全匹配,便可从子串第n位字符开始继续匹配而不是将子串匹配指针直接重置到开始位置进行再次匹配。...原创 2022-02-23 21:40:52 · 228 阅读 · 0 评论