Live2D

二叉树

二叉树是一种特殊的树形结构,它是一种度数为2的树


二叉树基本性质:

  1. 性质1:第i层上至多\(2^{i-1}\)个结点
  2. 性质2:深度为k的结点至多\(2^{k-1}\)个结点
  3. 性质3:叶结点数为k,那么双支结点数为k-1个
  4. 性质4:完全二叉树的深度为\(floor(log_2n)+1\)
    · 例:\(2^{log_2n}\)=n 如\(log_28\)=3
  5. 性质5:对于一棵n结点的二叉树,有如下性质:
    · 如果是编号为1的结点,那么他没有父结点
    · 如果是编号为\(i(i\neq 1)\)的结点,那么他的父结点为\(\frac{i}{2}\)
    · 如果\(2\times i>n\),那么此结点为叶子节点,否则左儿子为\(i\times 2\)
    · 如果\(2\times i+1>n\),那么此结点没有右儿子,否则右儿子为\(i\times 2+1\)

二叉树遍历:

  1. 先序遍历:(根左右)
    1. 先根结点
    2. 然后左子树
    3. 最后右子树
  2. 中序遍历:(左根右)
    1. 先左子树
    2. 然后根结点
    3. 最后右子树
  3. 后序遍历:(左右根)
    1. 先左子树
    2. 然后右子树
    3. 最后根结点
      已知先序+中序可以求后序,后序+中序可以求先序
      但是先序+后序并不可以确定唯一的中序
      例题见往年初赛题

表达式树:
我们最经常使用的是中缀表达式,但还有前缀表达式和后缀表达式
例:
· (a+b)c-d-e/f (中缀表达)
那么前缀表达/波兰式为:
· --
+abcd/ef
后缀表达/逆波兰式为:
· ab+c*d-ef/-

posted @ 2020-10-07 22:44  Wuzhouming  阅读(58)  评论(0编辑  收藏  举报