关闭

悟空学Linux专栏----第9篇

标签: linuxlinux内核源码内核二叉树
249人阅读 评论(0) 收藏 举报
分类:

  研究完了什么是红黑树之后,悟空决定研究的下一个问题是:红黑树有什么特点?为什么要给这个半平衡二叉树着色呢?悟空感觉一个人研究太累了,还是去找人请教来的快。这次悟空还是想到了达人先生,悟空决定再次变成八戒来请教达人。

  “八戒”:师傅,你说红黑二叉树有什么特点啊?

  达人:红黑二叉树的最大特点就是它的算法复杂度小。采用红黑二叉树存储数据,搜索到需要搜索的数据的时间比采用其他结构存储数据搜索的时间要短很多。

  “八戒”:那么红黑树和链表的那个搜索速度更快呢?

  达人:当然是红黑树啦,链表的搜索采用的是线性的,所以时间复杂度为n,而二叉树的时间复杂度为log(n)。

  “八戒”:那么为什么内核还要实现双向链表呢?干嘛不都用红黑树呢?

  达人:红黑树的优势在于数据多的情况下,当数据比较少的时候,虽然红黑二叉树的搜索时间比双向链表快,但是效果不明显。而且红黑树的实现相对比较复杂,比较难于理解,接口也比较复杂。而双向链表却比较简单,使用方便。

  “八戒”:哦,原来红黑树和双向链表分别用于不同的场景啊。

  达人:就拿手机来打比喻吧,红黑树是苹果手机,高端、大气、上档次,而双向链表就是小米手机,便宜、性能强、性价比高。

  这时八戒从远处走来,看到达人先生在和一个人说话,八戒大喊:师傅你在和谁说话啊?

  达人摸着头自语:咦,怎么会有两个八戒的…

  悟空听到八戒的声音之后,掉头就跑了,正好一头撞进了八戒的怀里,被八戒一把抓住了,八戒一看就知道是孙悟空。

  八戒:猴哥,你这可不地道啊,怎么冒充我啊…

  悟空:呵呵,我们哥俩还分你我吗,我不就是你,你不就是我吗。

  达人:好你个猴头,上次你还没有教我七十二变呢,这次你无论如何也要教我,要不你就拜我为师。

  悟空见这形式,肯定是跑不掉,只得勉强拜了达人先生为师傅。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7207次
    • 积分:545
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档