数据结构之二叉树

作者: 忆往 分类: 其他の知识,学习の生涯,数据の结构,树型の结构 发布时间: 2018-06-28 11:42

二叉树性质: 非线性的结构 (可以采用顺序方式存放,也可以采用链式结构)

  1. 第I层 至多有2的(i-1)次方个节点
  2. K层二叉树的节点数目最大值为2的(K)次方-1个节点
  3. 叶子节点n0  度为2的节点n2 n0=n2+1
  4. 满二叉树:每层节点都是最大值
  5. 完全二叉树即满二叉树的顺序表示一一对应(不会出现只有右节点而没有左节点的情况)
  6. n层的完全二叉树深度K=log 以2为底n的对数(向下取整)+1

二叉树的遍历


前序遍历:前序遍历可以记为根左右,若二叉树为空,则结束返回。

前序遍历的规则:

(1)访问根节点

(2)前序遍历左子树

(3)前序遍历右子树

这里需要注意:在完成第2,3步的时候,也是要按照前序遍历二叉树的规则完成。

前序遍历的输出结果:ABDECF


中序遍历:中序遍历可以记为左根右,也就是说在二叉树的遍历过程中,首先要遍历二叉树的左子树,接着遍历根节点,最后遍历右子树。

同样,在二叉树为空的时候,结束返回。

中序遍历的规则:

(1)中序遍历左子树

(2)访问根节点

(3)中序遍历右子树

注意:在完成第1,3步的时候,要按照中序遍历的规则来完成。

中序遍历的输出结果:DBEAFC


后序遍历:后序遍历可以记为左右根,也就是说在二叉树的遍历过程中,首先按照后序遍历的规则遍历左子树,接着按照后序遍历的规则遍历右子树,最后访问根节点。

在二叉树为空的时候,结束返回。

后序遍历二叉树的规则:

(1)后序遍历左子树

(2)后序遍历右子树

(3)访问根节点

注意:在完成1,2步的时候,依然要按照后序遍历的规则来完成。

后序遍历的输出顺序:DEBFCA

发表评论

电子邮件地址不会被公开。 必填项已用*标注