
数据结构
文章平均质量分 82
rgbhi
空无一物,无限可能
展开
-
树形线段树
题目 自己写了dp版本。本着钻研的精神,看看线段树的解法。 看了官方题解的线段树的解释,云里雾里,我是真的不知道它在讲什么,挣扎了半天放弃。 遂去网上查找什么是线段树。 但是网络上的线段树跟树形数组长的很像,是将树拍扁的数组,而不是题解里的树结构。 FenwickTree是树状数组的意思! 但是概念是相通的。这里贴张正宗的线段树结构,最终的实现形式,你可以选择用树状数组,也可以像官方题解一样,真的造树形。 可能树形更直观一点?(划掉,微笑,并不) 现在来讲线段树的基本概念。如图所示,线段树就是记录区间数原创 2021-04-19 18:02:54 · 137 阅读 · 0 评论 -
红黑树,删除
那删除呢? 删除看起来,删了红色节点,那子的两个节点都是黑的,需要一个节点去填补父节点的空缺。会造成一方多了一个黑节点,不平衡。 删了黑节点,那么这一支直接少了个黑节点,果断不平衡。 所以,删除看起来都得调啊,那该怎么调呢? 这要分挺多种情况类。 1、被删除的节点,没有子节点。 1.1 如果是红色节点,那就直接删除,不会有任何影响。 1.2 如果是黑色节点,那么就意味着这边少了一个黑色节点,需要重新平衡了。 我们可以看出来,当父节点为红色的时候,将兄弟节点置红,父节点置黑移到被删除的位置,然后对侄子节点原创 2021-03-25 16:00:31 · 254 阅读 · 0 评论 -
红黑树,新增
一年了,从第一次认识红黑树到现在,我还是没有整明白这货有啥用,今天来好好学习一下。 一个有效的红黑树,跟一个红黑树还是有差别的。 有效和无效。 一个随随便便的红黑树,就是给一个普通二叉树涂上红黑颜色(有一定上色要求)。 你可以说一个红黑树的随便一个子树也是一个红黑树。 因为都是红色和黑色的上色点(上色情况肯定满足一个普通红黑树的要求)。 但是你无法说都是有效的红黑树。 有效红黑树的其中一个要求是,根节点是黑色的。这样一个红色节点肯定是做不了一个有效红黑树的根的。 之前看的一些红黑树定义,让我一脸懵逼,什么子原创 2021-03-24 23:53:38 · 200 阅读 · 1 评论