面试题目:红黑树与平衡二叉树区别?

szutyang 2008-11-04 12:28:20
1,红黑树与平衡二叉树区别?
2,操作系统中, 信号量与互斥锁使用与区别?
...全文
14955 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolfaint 2010-06-16
  • 打赏
  • 举报
回复
看答案
zzyjsjcom 2008-11-04
  • 打赏
  • 举报
回复
红黑树是特殊的平衡二叉树
帅得不敢出门 2008-11-04
  • 打赏
  • 举报
回复
信号量可以实现互斥锁
作用范围更大
可用于进程间通信
同步
..
帅得不敢出门 2008-11-04
  • 打赏
  • 举报
回复
帅得不敢出门 2008-11-04
  • 打赏
  • 举报
回复
平衡二叉树或者是一棵空树,或者是具有下列性质的二叉树:
它的左右子树均为平衡二叉树,且左右子树的深度之差的绝对值不超过1.
若定义二叉树上结点的平衡因子BF(Balance Factor)为该结点的左子树的深度减去右子树的深度,在平衡二叉树上所有结点平衡因子只可能为-1, 0, 1.
只要二叉树上有一个结点的平衡因子的绝对值大于1,则该二叉树就是不平衡的.
e_sharp 2008-11-04
  • 打赏
  • 举报
回复
RB-tree 是 加入“平衡条件”的二叉搜索树
e_sharp 2008-11-04
  • 打赏
  • 举报
回复
o

UP
星羽 2008-11-04
  • 打赏
  • 举报
回复
AVL树又称高度平衡的二叉搜索树,是1962年由两位俄罗斯的数学家G.M.Adel'son-Vel,sky和E.M.Landis提出 的.引入二叉树的目的是为了提高二叉树的搜索的效率,减少树的平均搜索长度.为此,就必须每向二叉树插入 一个结点时调整树的结构,使得二叉树搜索保持平衡,从而可能降低树的高度,减少的平均树的搜索长度. AVL树的定义: 一棵AVL树满足以下的条件: 1>它的左子树和右子树都是AVL树 2>左子树和右子树的高度差不能超过1 从条件1可能看出是个递归定义,如GNU一样. 性质: 1>一棵n个结点的AVL树的其高度保持在0(log2(n)),不会超过3/2log2(n+1) 2>一棵n个结点的AVL树的平均搜索长度保持在0(log2(n)). 3>一棵n个结点的AVL树删除一个结点做平衡化旋转所需要的时间为0(log2(n)).



# 红黑树是一种很有意思的平衡检索树。它的统计性能要好于平衡二叉树(有些书籍根据作者姓名,Adelson- Velskii和Landis,将其称为AVL-树),因此,红黑树在很多地方都有应用。在C++ STL中,很多部分(目前包括 set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以及对set操作的支持)。
#
# 红黑树的定义如下:
#
#
# 满足下列条件的二叉搜索树是红黑树
#
# * 每个结点要么是“红色”,要么是“黑色”(后面将说明)
# * 所有的叶结点都是空结点,并且是“黑色”的
# * 如果一个结点是“红色”的,那么它的两个子结点都是“黑色”的
# * (注:也就是說,如果結點是黑色的,那么它的子節點可以是紅色或者是黑色的)。
# * 结点到其子孙结点的每条简单路径都包含相同数目的“黑色”结点
# * 根结点永远是“黑色”的



richbirdandy 2008-11-04
  • 打赏
  • 举报
回复
我就不去google了。。。
太乙 2008-11-04
  • 打赏
  • 举报
回复
使用:

http://www.diybl.com/course/6_system/linux/Linuxjs/2008622/127539.html
太乙 2008-11-04
  • 打赏
  • 举报
回复

信号量与互斥锁区别

http://topic.csdn.net/t/20050707/14/4129164.html
太乙 2008-11-04
  • 打赏
  • 举报
回复
区别:

http://topic.csdn.net/t/20020626/12/831096.html

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧