zoukankan      html  css  js  c++  java
  • 关于二叉树的记录

    前序遍历:先根节点-->然后左子树-->然后右子树

    中序遍历:先左子树-->然后根节点-->然后右子树

    后序遍历:先左子树-->然后右子树-->然后根节点

    中序后继:先查找是否有右子树,如果有,则查找右子树的最小值(也就是一直查找右子树的左边[如果左边为null,则返回当前右子树的值])

    ,如果没有右子树则向父级查找,查找父级的左子树是否和当前节点相等,相等的话  返回父节点,否则继续向父节点查找

    蓝色的是要删除的节点,红色的是该删除节点的中序后继节点

    删除二叉树节点(删除的节点下面有两个孩子的,一个孩子和没有的比较简单,这里就不介绍了):找到删除节点的中序后继节点,把中序后继节点复制到待删除的节点中,然后把中序后继节点删除掉

    日常记录

  • 相关阅读:
    [LeetCode]Sort List
    [LeetCode]Single Number II
    合并两个排序的列表
    翻转链表
    链表中倒数第k个结点
    调整数组顺序使奇数位于偶数前面
    数值的整数次方
    二进制中1的个数
    矩形覆盖
    变态跳台阶
  • 原文地址:https://www.cnblogs.com/jianguang/p/6909166.html
Copyright © 2011-2022 走看看