随笔分类 -  数据结构

最小生成树的Python实现
摘要:最小生成树是指带权无向图中,其各边权值和最小的生成树。这个问题在日常生活中会广泛遇到,如何用最小的代价把网络中各点连接起来。 常用的算法有Kruskal,Prim,我们对这两个典型算法进行Python实现。 Kruskal Kruskal算法基于简单连通分量的最小代价互联。将初始图G中各边按权值从小 阅读全文
posted @ 2020-06-18 23:32 ZhangCheng2020 阅读(3160) 评论(0) 推荐(0)
Boyer-Moore字符串搜索(BM算法)的Python实现
摘要:BM算法根据两个判据来进行字符串匹配,分别是“坏字符规则”和‘好后缀规则",其中好后缀规则可以单独使用,算法的图解可以参照下面这篇博文: https://www.cnblogs.com/wxgblogs/p/5701101.html 采用Python语言对BM算法进行实现,实现过程分为3个函数,主循 阅读全文
posted @ 2020-04-15 11:52 ZhangCheng2020 阅读(1933) 评论(0) 推荐(0)
我对KMP算法的理解
摘要:KMP算法的核心在于失配回溯表——pnext,相比于通过逐个比较来匹配字符串的朴素算法,KMP通过对模式串的分析,可以做到比较指针在主串上不回溯,一直向前。 1. KMP如何实现不回溯? 对于主串 t0 t1....tj,模式串 p在 pi处与 tj 失配,假设 p0~pi-1 存在最长相等前后缀, 阅读全文
posted @ 2020-04-05 22:51 ZhangCheng2020 阅读(252) 评论(0) 推荐(0)