Data structure and algorithm
文章平均质量分 78
随便写写
乐乐乐OvO
这个作者很懒,什么都没留下…
展开
-
广度优先搜索BFS优化,双向BFS
双向BFS通过从起点和终点同时搜索来优化传统单向BFS。原创 2024-06-29 10:49:43 · 431 阅读 · 0 评论 -
广度优先搜索
访问当前队列中的第一个节点F,不想重复访问节点,所以G未入队,访问完后F出队。访问当前队列中的第一个节点C,并将其邻居节点F入队,不想重复访问节点,所以E未入队,访问完后C出队。至此,A的邻居节点,也就是距离A为1的节点访问完毕,接下来访问距离A为2的节点。访问当前队列中的第一个节点D,并将其邻居节点G入队,访问完后D出队。访问队列中的第一个节点B,并将其邻居节点E入队,访问完后B出队。访问根节点A,并将其邻居节点B,C,D入队,访问完后A出队。访问当前队列中的第一个节点E,子节点了,访问完后E出队。原创 2024-06-28 10:56:15 · 410 阅读 · 0 评论 -
KMP算法
一种字符匹配算法利用匹配失败后的信息,尽量减少模式串与主串的匹配次数,以达到快速匹配的目的。匹配失败后,利用已匹配部分中的公共前后缀()来,以此加速下一次匹配。例:给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1。示例 1:输入:haystack = "sadbutsad", needle = "sad"输出:0。原创 2024-06-12 22:03:07 · 661 阅读 · 0 评论 -
动态规划随写
求字符串中的最长回文子串,就设dp[i][j]为子串s.substring(i,j)是否为回文串。原创 2024-06-11 08:47:47 · 270 阅读 · 0 评论 -
中心扩展算法与Manacher算法随写
其回文长度与 i' 相同。i'(i关于C的对称位置),r和l(i'最长回文字符串的左右边界),L(R-1关于C的对称位置)但我们可以确定的是[R-1', R-1]的范围一定是满足回文串的,因此我们需要探索的是往外是否还满足回文串,采用中心扩展。3. .而在范围(M, N)内,由与 i' 的对称关系可知,以 i 为对称点的位置对的字符相等。3.而在范围(M, N)内,由与 i' 的对称关系可知,以 i 为对称点的位置对的字符相等。设 L关于 i' 的对称位置是 L',R-1关于 i 的对称位置是R-1'。原创 2024-06-11 22:46:08 · 923 阅读 · 0 评论