![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构杂论
文章平均质量分 96
人间@烟火
这个作者很懒,什么都没留下…
展开
-
【最近公共祖先】 LCA 详解(倍增,trajan算法)
在一棵二叉搜索树中,任意两个结点的最近公共祖先,是指以这两个结点为后代的深度最大的那个结点。需要通过比较两个结点的值,来判断它们在二叉搜索树中的位置关系。如果两个结点的值都小于当前结点的值,那么它们一定在当前结点的左子树中;如果两个结点的值都大于当前结点的值,那么它们一定在当前结点的右子树中;如果一个结点的值小于当前结点的值,另一个结点的值大于当前结点的值,那么当前结点就是它们的最近公共祖先。如果两个结点中有一个等于当前结点,那么当前结点也是它们的最近公共祖先。对于有根树TTT的两个结点uv。原创 2023-07-20 11:22:45 · 358 阅读 · 0 评论 -
【动态规划 & 树形dp】Tree DP ~~~详解
树形动态规划 (Tree DP) 是一种常用的动态规划技巧,跟普通的线性动态规划不同,此算法将DP建立在树状结构或图的基础上,是一种 DP 的思想。以下是树形 DP①、定义状态:根据问题的特点,定义每个节点需要保存的状态。可以是最大值、最小值、累加和、路径长度等等。②、设计转移方程:根据问题的要求,定义每个节点状态之间的转移关系。这个转移关系通常由树的拓扑结构决定,先在每个节点处定义状态,再利用已经计算出的节点状态来计算当前节点的状态。③、遍历计算:使用深度优先搜索 (DFS)或广度优先搜索(BFS遍历。原创 2023-07-29 22:21:13 · 455 阅读 · 0 评论 -
数据结构【字典树】 Trie Tree 【蒟蒻必看 略解】
TrieTrieTrie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。转载自百度 字典树蒟蒻自我总结,可以忽略一、查询字符串是否出现过。二、寻找该字符串的公共前缀。三、用于进行 xor(异或)运算。这是一种时间效率上比较高的树形结构。原创 2023-07-18 07:12:31 · 215 阅读 · 1 评论