数据结构应试要点——树与二叉树

树与二叉树的基础知识请参阅相关书籍,这里列出考试时需要注意或容易忽视的地方。如有补充,欢迎评论或私信!

基本概念

1.树最适合用来表示元素之间具有分支层次关系的数据。

2.树的路径长度是从树根到每个结点的路径长度的总和

3.树的结点总数 = 所有结点的度数 + 1.

这里要注意的是,树中的度与图论中的度不同。树中度为0的结点为叶子结点,而图中度为0的结点为一个孤立结点。

4.设T为m度的树,ni为度是i的结点的个数,则:

  • 总结点数 = n0 + n1 + n2 + ... + nm.
  • 总分支数 = n1+ 2n2 + 3n3 + ... + mnm.
  • 总结点数 = 总分支数 + 1.

5.利用二叉链表存储森林时,根结点的右指针不一定非空。当该森林只有一棵树时,根结点的右指针为空。

6.一棵树的先根遍历结果与其对应的二叉树的先序遍历结果相同;树的后根遍历结果与其对应二叉树表示的中序遍历结果相同(不是后序遍历)。

7.利用树的先根遍历序列与后根遍历序列可以唯一地确定该树。(因为二叉树的先序序列和中序序列可以唯一确定这颗二叉树。

8.根据n个权值构造的哈弗曼树含n个叶子结点,n-1个分支结点。

二叉树

1.二叉树的每个结点至多两棵子树,且二叉树为有序树。即其子树有左右之分,二者次序不可颠倒

2.二叉树与度为2的有序树的区别:

  • 度为2的有序树至少有3个结点,而二叉树可以为空。
  • 若度为2的有序树中某结点只有一个孩子,这个孩子就无左右之分;而二叉树无论孩子个数是1还是2均需确定其左右次序。

3.二叉树中有两个结点m和n,若m是n的祖先,则使用后序遍历就可以找到从m到n的路径。

4.二叉树、二叉排序树是一种逻辑结构。但线索二叉树是加上线索之后的链表结构,即它是二叉树在计算机的一种存储结构,所以是一种物理结构

5.线索化后,二叉树的空链域不一定被填满。例如一棵无左子树的二叉树先序线索化后含2个空链域。

6.二叉树在线索化后:

  • 先序线索二叉树中查找先序后继变得简单,但仍不能有效解决查找先序前驱。
  • 中序线索二叉树中查找中序前驱和中序后继均变得简单
  • 后序线索二叉树中查找后序前驱变得简单,但仍不能有效解决查找后序后继。

7.后序线索树的遍历仍需要栈的支持。

8.前序序列和中序序列的关系相当于以前序序列为入栈次序,以中序序列为出栈次序。

二叉排序树

1.在一棵二叉排序树中删除一个结点后,再将此结点插入二叉排序树。

  • 若删除的是叶子结点,则此操作不改变二叉树形态。
  • 若删除的不是叶子结点,则该操作必会使二叉树发生变化。
  • 若该树为平衡二叉树,则无此结论。

2.二叉排序树的中序序列是递增的有序序列,因此可以用来判定二叉排序树。

3.对于平衡二叉树,含有n个结点的平衡二叉树深度最大为O(logn),最少结点数可由下式推出:

n0 = 0,n1 = 1,n2 = 2,nh = nh-1 + nh-2 + 1(其中,h,h-1,h-2为下标,表示层数)

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值