数据结构二叉树拓展

前言

数据结构二叉树拓展


一、线索二叉树:

    规律:在有n个节点的链式二叉树中,必定有n+1个空指针域
    链式二叉树中有很多的空指针,可以让这些指针指向下一个节点,这样遍历树时可以不用递归而是使用循环,提高树的遍历速度
中序线索二叉树:
      节点数据项:
           数据
           左子树指针
           右子树指针
           右子树指针标志(真表示指向的时下一个节点,假表示指向的就是右子树)
      实现过程:
           1、创建线索
           2、按照线索进行遍历
注意:线索二叉树的主要目的时为了提高树的遍历速度

二、选择树:(胜者树、败者树)

   一颗完全二叉树,把待比较的数据存储在最后一层,根节点是左右子树中的一个,
是它们的最大或最小的作为根,选择树的功能是能够方便地找出树中的最大值或者
最小值

三、堆:

    是一种完全二叉树
大顶堆(大根堆):根节点比左右子树大
小顶堆(小根堆):根节点比左右子树小
数据项:
    存储数据的内存首地址
    容量
    数量
运算:
    创建、添加、删除、空堆、满堆、查看堆顶

使用堆可以实现优先队列

四、平衡二叉树

    前提是有序的二叉树,它的右子树高度差不超过1,而且它的所有子树也要满足这个条件。
    如果一颗有序二叉树呈单支状(接近单支状),因此如果让它道道平衡的状态它的效率才最高
    由于节点的位置是受值的影响,因此只能进行调整,而不能强行修改

    二叉树不平衡的基础原因:
         X                           y
        / \                        /   \
       y   t1                     z     x
      / \       以y为轴向右旋转   / \    / \
     z   t2                    t3 t4   t2 t1
    / \
   t3  t4


     X                           y
    / \                        /   \
   t1  y                      x     z
      / \    以y为轴向左旋转  / \    / \
    t2   z                  t1 t2  t3 t4
        / \
       t3  t4

    
     X              X              z
    / \           /   \           /  \
   y   t1        z     t1        y    x
  / \           / \             / \   / \
 t2  z         y  t4           t2  t3 t4 t1 
    / \       / \
   t3  t4    t2  t3
以z为轴向左旋转    以z为轴向右旋转    最终达到平衡

     X              X              z
    / \           /   \           /  \
   t1  y         t1    z         x    y
      / \             / \       / \   / \
     z  t2           t3  y     t1  t3 t4 t2 
    / \                 / \
   t3  t4              t4  t2
以z为轴向右旋转    以z为轴向左旋转    最终达到平衡

五、红黑树

 也是一种自平衡的有序二叉树,它不是根据子树的高度差来调整平衡的,而是给每个节点设置红或黑两个颜色,以此达到平衡。
 优点:插入、删除的效率要比AVL树要高
 缺点:没有AVL树均匀,查找效率没有AVL树高

总结

以上,有错误,还请指正

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值