标签:方式 公众 效率 植物 写在前面 查看 童鞋 二分 规则
写在前面
俺家司令买完东西后,我俩经常会发生这样的一段对话:
司令:你猜我买的这个多少钱?
我: 1000
司令: 高了
我: 500
司令: 低了:
我: 750
...... 直到最后猜中
这样说大家应该已经猜到了是「二分查找法」,通过这个例子我想要引出的是 树,来看图片
程序中的树其实是我们日常看到的树的倒影,或者发挥一下想象,倒影也可以是树根
二叉查找树
二叉查找树,Binary Search Tree 「BST」,要想了解二叉查找树,我们首先看下二叉查找树有哪些特性呢?
上图,结合二叉查找树的三条约束来看,非常好,没有什么问题。再来看一个图,依旧符合上面三条约束,感觉有问题吗?
理科生在高中学习生物时学过一个关键字「去除顶端优势」,通过去除植物顶端优势,侧芽会迅速生长,慢慢变得强壮和平衡, 红黑树其实就是去除二叉查找树顶端优势的解决方案,从而达到树的平衡
红黑树
红黑树,Red-Black Tree 「RBT」是一个自平衡(不是绝对的平衡)的二叉查找树(BST),树上的每个节点都遵循下面的规则:
标签:方式 公众 效率 植物 写在前面 查看 童鞋 二分 规则
原文地址:https://blog.51cto.com/14888355/2515725