二叉树 学习笔记

性质

  • 若n个节点有两个孩子,则叶子数为n+1
    • 若n个节点有两个孩子,则边数为2*n,(去掉一个孩子的边和点),总点数为2*n+1,所以叶子数为n+1
  • 若有n个节点,则有n+1个空指针
    • 假设空指针指向x个空节点,总边数为2*n,总节点数为2*n+1,x=总节点数-节点数 = 2*n+1-n = n+1(相当于假设每个节点都是双射啦)
  • 对于完全二叉树,若其节点数为n,则深度为$\lfloor log_2n \rfloor +1$
    • 假设其深度为k,那n的范围在$[2^{k-1},2^k-1]$,所以求到第一个满足$2^x$小于等于n的,然后x+1就是其深度了

 

线索二叉树

让那些空指针指向前驱和后继

树,森林和二叉树的转换

  • https://blog.csdn.net/linraise/article/details/11745559
  • 先序遍历的结果序列相同
  • 树的后序遍历 = 二叉树的中序遍历
  • 树的层序遍历 = 二叉树的后序遍历
  • 森林的先序遍历 = 二叉树的先序遍历
  • 森林的中序遍历 = 二叉树的中序遍历

最优二叉树

  • 最优判定树
  • 哈夫曼树
posted @ 2019-11-26 14:35  连昵称都不能重复  阅读(135)  评论(0编辑  收藏  举报