上一页 1 ··· 4 5 6 7 8
摘要: Kruskal算法(又称克鲁斯卡尔算法)。 其思想是:首先将图看成是由一个个孤立的顶点组成,然后按边的权重从小到大处理,将顶点连接起来, 并且要保证选取的边不会跟已选取的边构成环,当选出 V - 1 条边时最小生成树生成完成。 Kruskal 算法每次选取出最小的横切边(横切边就是连接最小生成树及其 阅读全文
posted @ 2022-06-05 21:34 廖子博 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 平衡查找树 理想情况下,我们希望能够保持二分查找树的平衡性。 在一棵含有 N 个结点的树中,我们希望树高为 \(log_2 N\)。 2-3 树 2-3 树由两种结点组成: 2- 结点:有一个键和两条链接 3- 结点:有两个键和三条链接 向一棵 2-3 树插入一个键值对: 如果查找结束于一个 2- 阅读全文
posted @ 2022-06-05 19:43 廖子博 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 单词查找树 单词查找树适用于以字符串为键的查找算法。 性能: 查找命中所需的时间与被查找的键的长度成正比 查找未命中只需检查若干个字符 以字符串为键的符号表的 API: public interface StringST<Value> { void put(String key, Value val 阅读全文
posted @ 2022-06-04 18:07 廖子博 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Boyer Moore 算法思想:将模式字符串与文本字符串从右往左进行匹配。 Boyer Moore 需要先对模式字符串进行预处理,根据模式字符串生成 right[] 数组,记录字符集中的字符在模式字符串中最右出现的位置。 当将模式字符串从右往左对比出现不匹配时,会有以下情况: 文本字符 text. 阅读全文
posted @ 2022-06-04 13:47 廖子博 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 子字符串查找:在文本中查找与模式字符串相匹配的子串。 将文本字符串的每个字符作为起点,尝试找出与模式字符串匹配的子串。 /** * 暴力查找子字符串 * */ public static int search(String pattern, String text) { int M = patter 阅读全文
posted @ 2022-06-04 13:45 廖子博 阅读(49) 评论(0) 推荐(0) 编辑
摘要: KMP 是发明此算法的三个人名字首字母。(Knuth, Morris, Pratt) 暴力查找每次匹配失败时都需要回退指针 i,并重新对比已经检查过的字符。 KMP 通过对模式字符串进行预处理,生成一个确定有限状态自动机, 将文本字符串的字符依次放到自动机中,可以直接得到需要和文本字符串下一个字符 阅读全文
posted @ 2022-06-03 17:22 廖子博 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 无向图 无向图 API: public abstract Graph { Graph(int V); // 创建一个含有 V 个顶点的图 Graph(In in); // 从标准输入读取一幅图 int V(); // 顶点数 int E(); // 边数 void addEdge(int v, in 阅读全文
posted @ 2022-06-01 23:39 廖子博 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 数据压缩算法 霍夫曼编码 霍夫曼编码(Huffman Coding) 霍夫曼编码是一种能够大幅压缩自然语言文件空间的数据压缩技术。 主要思想:用较少的比特表示出现频率高的字符,用较多的比特表示出现频率低的字符。 变长前缀码 前缀码:如果所有字符编码都不会成为其他字符编码的前缀,那么就不需要分隔符了。 阅读全文
posted @ 2022-06-01 15:50 廖子博 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.5 union-find 算法 union-find 算法用于检查两个触点是否属于同一分量。 union-find 算法 API: public class UF { UF(int N); // 以整数标识(0 到 N-1) 初始化 N 个触点 void union(int p, int q); 阅读全文
posted @ 2022-05-31 20:08 廖子博 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 最小生成树 加权图是一种为每条边关联一个权值或是成本的图模型。 最小生成树:图的生成树是它的一棵含有其所有顶点的无环连通子图。 一幅加权图的最小生成树(MST)是它的一棵权值(树中所有边的权值之和)最小的生成树。 计算最小生成树的两种经典算法: Prim 算法 Kruskal 算法 抽象数据类型 加 阅读全文
posted @ 2022-05-31 18:31 廖子博 阅读(89) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8