随笔分类 - 算法
摘要:有向图 在有向图中,边是单向的:每条边所连接的两个顶点都是一个有序对,它们的邻接性是单向的。 有向图的数据类型 有向图 API: public class Digraph { Digraph(int V); // 创建一幅含有 V 个顶点但不含有边的有向图 Digraph(In in); // 从标
阅读全文
摘要:无向图 图模型 四种重要的图模型: 无向图 有向图 加权图 加权有向图 无向图:边仅仅是两个顶点之间的连接。 术语表 特殊的情况: 自环 平行边 术语表: 相邻 度数 子图 路径:由边顺序连接的一系列顶点 路径的长度:其中所包含的边数 简单路径:一条没有重复顶点的路径 连通 连通图 极大连通子图 生
阅读全文
摘要:术语:模式和文本 在文本中找出和模式相符的子串。 子字符串查找算法: | 算法 | 性能 | 备注 | | | | | | 暴力查找法 | 一般情况:O(N+M);极端情况:O(NM) | 实现简单 | | KMP 算法 | O(N+M) | 确定有限状态自动机 DFA | | BM 算法 | 一般
阅读全文
摘要:字符串排序算法: 键索引计数法 低位优先的字符串排序算法(Least-Significant-Digit-First, LSD) 高位优先的字符串排序算法(MSD) 三向字符串快速排序 键索引计数法 适用性:适用于小整数键的排序算法 稳定性:稳定的排序算法,排序后键相同的元素的相对位置没有变化 思路
阅读全文
摘要:本节内容:学习两种字符串查找相关的数据结构 应用:基于字符串键的符号表 算法:基于字符串键的查找算法 数据结构: 单词查找树(R 向单词查找树) 三向单词查找树(TST) 性能: 查找命中所需的时间与被查找的键的长度成正比 查找未命中只需检查若干个字符 单词查找树 性质: 根结点是一个空结点 每个结
阅读全文
摘要:/** * 暴力子字符串查找算法 * * 将文本字符串中的每个位置都与模式字符串进行匹配,直到找出匹配的子串位置 * */ public class BruteForce { /** * @param pattern 模式字符串 * @param text 文本字符串 * @return 找到匹配的
阅读全文
摘要:全排列 计算 nums = [1, 2, 3] 的全排列。 每个排列有 3 个数位,每个数位的值可以是 [1, 2, 3],通过循环枚举每个数位的值,循环结束时,回退到上一个数位。 /** * 46.全排列 * 链接:https://leetcode.cn/problems/permutations
阅读全文