AI算法 每日算法 — 使用java实现KMP字符串匹配:前缀函数与线性时间复杂度 算法背景 字符串匹配是计算机科学中最基础的问题之一:给定一个文本串 text 和一个模式串 pattern,找出 pattern 在 text 中所有出现的位置。暴力解法的时间复杂度为...
AI算法 每日算法 — 使用java实现Trie字典树:前缀匹配与自动补全 算法背景 Trie(发音为 "try"),又称前缀树或字典树,是一种用于高效存储和检索字符串集合的树形数据结构。与哈希表相比,Trie 不仅能以 O(m)...
AI算法 每日算法 — 使用java实现红黑树:自平衡二叉搜索树与旋转操作 算法背景 二叉搜索树(BST)在最坏情况下会退化为链表,导致查找、插入、删除操作的时间复杂度从 O(log n) 恶化到 O(n)。红黑树(Red-Black...
AI算法 每日算法 — 使用java实现LCA最近公共祖先:倍增算法与RMQ预处理 算法背景 最近公共祖先(Lowest Common Ancestor,LCA)问题是树结构算法中的经典问题:给定一棵有根树和两个节点 u、v,找出它们的所有公共祖先中深度最大的那个。LCA...