树状存储

Last edited
Last updated July 14, 2023
Pages
Tags

二叉树常见属于

树的深度:层数
度:子树的个数
叶子:没有子节点
兄弟:具有相同的父节点
堂兄弟:非同一父节点但是同一深度

二叉树

一个节点最多只能有两个子节点,而且必须区分左右
特殊的二叉树:
  • 满二叉树:如果一个深度为 的树有 个节点,就是满二叉树
  • 完全二叉树:一棵树只有最后两层出现不满足有两个子节点

存储

分为顺序存储、链式存储
  • 顺序存储:利用数组,构建这个树对应的满二叉树,将树的数据保存进数组
    • 一般用先序遍历编号数组下标,一个节点 的左子编号为 ,右子为
    • 比较浪费空间而且只能存二叉树
  • 链式存储:用指针存储孩子节点

遍历

分为按行遍历,先序遍历,中序遍历,后序遍历
  • 按行(层)遍历:就是按层从上到下,从左到右遍历
  • 先序遍历:遍历的顺序为“根左右”
  • 中序遍历:遍历的顺序为“左根右“
  • 后序遍历:遍历的顺序为”左右根“
如下图,其各遍历方式的结果为:
  • 按层遍历:ABECFDGHK
  • 先序遍历:ABCDEFGHK
  • 中序遍历:BDCAEHGKF
  • 后序遍历:DCBHKGFEA
 
notion image