【Mark】树和二叉树

树的定义和基本术语

  • 第三类基本结构——树
  • 树的结构定义是一个递归的定义
  • 树的表示:1.嵌套集合 2.广义表 3.凹入表示法
  • 一般,有层次的结构,都可导致一个树结构
  • 树的结点:包括一个数据元素和若干指向其子树的分支
  • 度----分支
  • 深度----层数
  • 树与森林的互相转换(左孩子右兄弟)

二叉树

  • 定义,1.至多两棵子树 2.有左右之分
  • 空树存在
  • 五个性质:
    1.对任一二叉树,
    ①第 i 层至多2i-1个(1层,20个)
    ②共 k 层至多2k - 1个()
    ③n0 = n2 + 1
    2.对完全二叉树
    ④n个结点,深度为 ∟log2n」 + 1(这个下取符号不好找。。。)
    ∟i/2」 i 2i 2i + 1
  • 二叉树的存储结构:
    顺序存储,一般仅存二叉树
    链式存储,又叫二叉链表
  • 二叉链表,有左右指针域和存数据域,若无左(右)孩子的话,左(右)指针域必为空
  • 此时改为线索,就是线索链表
  • 加上线索的二叉树,就是线索二叉树

遍历二叉树和线索二叉树

  • 遍历就是访问每个数据元素(仅一次)
  • 遍历方案:六种,若限定先左后右,则只有先、中、后序遍历了
  • 先(后) + 中序,可以还原二叉树
  • 中序 递归工作栈
  • 二叉树 各种操作的基础,遍历
  • 待续。。。


发布了77 篇原创文章 · 获赞 160 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43763494/article/details/103780909