红黑树与哈希树的介绍

刚刚看了https://blog.csdn.net/yang_yulei
的史上最简单的红黑树的介绍.
嗯,确实写得好.原来,就是搞不懂红黑树的旋转是干啥的.所以啊,讲得明白的人才是高手.讲得清为啥子的才是高手.我数学还是可以的.结果,以前看了那么多,就是没搞懂.
现在看了它说的,原来红黑树简单得很啊.
红黑树的本质,就是在2-3树.用2-3树来思考就比较方便.红色链接的两个节点=>实质是个大节点,即3树.然后各种操作的本质就是在正确的地方插入数,然后就有序了.2-3树,实际上就是在区间中合适的插入数.使用23树就是为了保持插入时的平衡.
如果待插入地父节点为2节点,则插入即可.如待插入地父节点为3节点.
自己写和看别人的就是不一样.看别人的一看,哦,懂了.自己写,就遇到问题了.
三叉,就是可放左,中,右.二叉,就是左,右.
则,原先为A,B.则先混进去.变成A,C,B.然后中间的C提升.如果父节点有2个子节点,即还可以接一个.这时就提升C,使C与原来的父节点合成个3节点.然后,相应链接改变.以达到像M这个样儿.正好,就是有序的.这个C直接向上提升即可.因为整个树实质上就是一根数域直线.可以将全树全压扁,其实就是一根整数列.其它树都是这样的.
总之,插入就是,有空就插.没空,先挤一挤.然后将中间的提升与父节点并排,再插.如没有,再挤一挤,将父节点的中间再提升.如根也要挤一挤,那么再提升根的最中间.是不是,完美了.有空则插,没空就挤一挤,中间元素再往上.
所有的树,本质就是一根整数列表上的数而已.压扁了,看看嘛.就是这么个东西.23树的访问.10亿,30次.
红黑树就是红链接及左右端点的两个节点作为23树的3节点的东西.
红黑树就是一个节点类表示23树,避免了23树两种节点实现的麻烦.
红黑树的旋转.主要搞懂其目的是干嘛就行.就是恢复有序,即23的序.只要搞懂树,其实是有序的整数就行了.所有的提升,其实啥都没变,因为你的位置没变.树的变化,只是说链接变了.结构变了.结构变的目的是维持插入过程中的无序变有序.即你附近的相关大小整数变了.这时,链接就要变.以保持有序.大的要在右边,小的在左边.中间的在中间.上下提升或下降都不影响大小.因为你始终在这个位置.
二叉树的缺点就是不容易平衡.二叉平衡树的缺点就是维持平衡要付出太多.23树就是比较平衡,但实现麻烦.红黑树就是实现简单的维持平衡的二叉树(查询消耗log2数).哈希就是空间浪费较大(查询要1~2次).哈希树就是整数由质数的模来表示.这样空间浪费就少且查询较快(每次查询消耗5~10次).因为可以先2,3,5,7,11,13,17,19,23.其实就是数的表示方法不一样.计算机说白了,其实很简单.可惜,就是有人在把简单的事情搞复杂.让许多人浪费大把时间,还是没搞懂,到底是什么东西.
为什么会出现简单的事情搞复杂,那就是自己是糊涂人,自己都没搞明白,就是一盲引众盲.
什么是质数分辨定理?
说实话,我最讨厌这种带有名词的装逼的东西了.这些东西,你初看一下,我晕,装得一个好逼,其实质是什么东西,简单得很,就是任意一个数,都可以由几个质数表示.有太多这种垃圾表示了.名词是不是高大上?结果呢,你不去了解,你还真不知道他们在说什么,你一了解,结果说的是一个屁.
这种表示方法与进制的表示方法一样.比如十进制,11354,每个数就是一个方向.如果用质数来表示,也是可以的.比如对2,模1,对3,模1,对5模3,对7模5,对9模4.就是另外一个数.
为什么这个定理是显然的呢.比如2*7.是不是14以下整数都有唯一的表示.
因为都是质数.所以你我不相关.不同的数与质数有不同的余.本质就是整数的另类表示.8=(0,1)(2,7).
哈希树,就是借从小到大的质数来表示不同的数.因为他是一个个增加的.所以空间消费不大.为什么叫哈希呢,可能是因为快吧.

哈希树的缺点是不好排序.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值