:1.有且仅有一个称为根的节点;2.当n>0时,其余的节点可以分为m(m>0)个互不相交的有限集。每一个节点又是一棵树,并且称为根的子树。

节点的分类:节点拥有的子树数称为节点的度。度为0称为终端节点或者叶节点;度不为0的称为非终端节点或者分支节点。树的度是树内节点的度的最大值。

节点间关系:节点的子树的根称为该节点的孩子,该节点称为孩子的双亲。同一个双亲的孩子之间称为兄弟。如果将树中节点的各子树看成是从左到右是有次序的,不能互换,称改树为有序树,否则称为无序树。

结点的层次树中结点最大层次成为树的深度或高度。如果树中结点的各子树看做是有序的不能互换的则称该树为有序数,否则为无序树,森林是m(m>=0)颗互不相交的树的集合。

嵌入式学习 day 16 17

树的存储结构:顺序存储、链式存储

孩子兄弟表示法,随之引出二叉树。

二叉树定义:二叉树是n(n>=0)个节点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两颗互不相交的,分别称为根节点的左子树、根节点只有右子树、根节点既有左子树又有右子树。

五种基本形态:空二叉树、只有一个根节点、根节点只有左子树、根节点只有右子树、根节点既有左子树又有右子树。

二叉树的特点:1.每个节点最多有两颗子树,即不存在度大于2的节点。2.左子树和右子树是有序的,不能随便颠倒。3.即使树中某个节点只有一颗子树,也要区分是左子树还是右子树。

满二叉树:深度为k且含有2^k-1个节点的二叉树称为满二叉树。

完全二叉树:(这个不是很明白,要仔细看)如果一个有n个节点的二叉树按满二叉树方式子上而下,自左至右对它进行编导,若树中所有节点和满二叉树的1~n编号完全一致,则称该树为完全二叉树。

二叉树的性质:

1.1.在二叉树的第i层上最多有2i-1 个节点 (i>=1)。

2.二叉树中如果深度为k,那么最多有2k-1个节点。(k>=1)。

3.n0=n2+1  n0表示度数为0的节点叶子节点 n2表示度数为2的节点

4.在完全二叉树中具有n个节点的完全二叉树的深度为[log2n]+1,其中[log2n]+1是向下取整不大于[log2n]+1

的最大整数

5.(1)(这个最为重要!!!)若对含 n个结点的完全二叉树从上到下且从左至右进行 1 n的编号则对完全二叉树中任意一个编号为 i的结点:1.若i=1,则该结点是二叉树的根,无双亲,否则(i>1时),编号为【i/2】(向下取整)的结点为其双亲结点;

(2)若2i>n,则该结点无左孩子,否则,编号为2i的结点为其左孩子结点;

(3)若2i+1>n,则该结点无右孩子,否则,编号为2i+1的结点为其右孩子结点。

遍历次序,这个最为重要!1.前序遍历:根 左 右

                                         2.中序遍历:左 根 右

 3.后序遍历:左 右 根

其中数据结构如果笔试考到,肯定考的是二叉树,其中二叉树的遍历(递归算法):面试题目:推导遍历结果。

《大话数据结构P212》

接下来就是实际看代码来查找不会有疑问的知识点。

相关文章:

  • 2021-11-19
  • 2021-08-06
  • 2021-10-25
  • 2021-10-21
  • 2021-11-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-09
  • 2022-01-27
  • 2021-06-01
  • 2021-10-21
  • 2021-12-05
  • 2021-12-05
  • 2021-09-07
相关资源
相似解决方案