基础学习第五弹

  • 名词:
    • 子树
    • 结点
    • 结点的度
    • 叶子结点
    • 孩子
    • 双亲
    • 兄弟
    • 树的度
    • 结点的层次
    • 深度
    • 有序树
    • 无序树
    • 森林
    • 祖先
  • 二叉树
    • 满二叉树
    • 完全二叉树
      • 当且仅当每个结点都跟相同深度的满二叉树中编号1到n的结点一一对应,才是完全二叉树
  • 二叉树的性质
    • 第i层最多有 2i1 方个结点
    • 深度为k的二叉树,最多有 2k1 个结点
    • 对任何一个二叉树,n0,n1,n2表示度为0,1,2的结点数,则n0=n2+1(用边数去推);
    • 具有n个结点的完全二叉树的深度为 logn2 +1
    • 对一个n个结点的完全二叉树,则它的任意结点i(1<=i<=n)有:
      • 如果i=1,i是根节点,无双亲;如果i>1,则双亲结点是i/2
      • 如果2i>n,则结点i无左右孩子;否则左孩子为2i
      • 如果2i+1>n,则结点i无右孩子;否则右孩子结点是2i+1
  • (没保存。。。苍天啊!!!不想再打上去了,详细的给个链接,意思差不多)
  • 二叉树的存储存储细节

    • 顺序结构
    • 链式结构
  • 二叉树的遍历

    • 先序遍历
    • 中序遍历
    • 后序遍历
  • 线索二叉树
    细节,注意参透,也是对前面遍历的一个加深理解。网上有不少代码,有的是有些细节错误的,还有些是阴差阳错,默认的设置使得他们忽视的细节没有出现问题。

  • 几个重要的树
    • 表达式树
    • 二叉排序树( OlogN
      • 查找算法很简单,递归
      • 插入算法差不多,也是递归
      • 删除算法比较复杂,需要考虑两个情况
        • 被删除的结点具有两个子结点(找到被删除结点右子树中最小的结点来替代)
        • 被删除的结点具有一个或者没有子结点(子结点直接替代或者直接删除被删结点即可)
  • 平衡二叉树

    • 左右子树都是平衡二叉树
    • 左右子树的深度差不大于1
  • 平衡二叉树的旋转旋转的讲解

    • 难点,左旋转或者右旋转(删除插入大都需要旋转,假如可能的话,尽量不要删除平衡二叉树中的结点)
  • AVL树百度的写的蛮全的
  • 红黑树记得看评论,大家都值得学习
  • 记得看评论
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值