数据结构——二叉树

来源:互联网 发布:python argv 编辑:程序博客网 时间:2024/05/21 00:53

定义:有穷结点的集合,可为空,若不为空,则其由根节点、左子树、右子树组成。
五种基本形态
特殊二叉树:斜二叉树、完美(满)二叉树、完全二叉树

几个重要的性质:
1、一个二叉树第i层的最大结点数为:2的i-1次方;
2、深度为K的二叉树有最大结点总数为:2的k-1次方;
3、对任何非空二叉树T,若N0表示叶结点的个数、N2是度为2的非叶节点个数,那么两者满足关系N0=N2+1。
4、二叉树的边和结点的关系:N0+N2+N1-1=0*N0+1*N1+2*N2

常用遍历方法:
先序—- 根、左子树、右子树;
中序— 左子树、根、右子树;
后序— 左子树、右子树、根;
层次遍历—从上到下、从左到右。

存储结构:
1.顺序存储;
完全二叉树: 按从上至下、从左到右顺序存储n个结点的完全二叉树的结点父子关系:
完全二叉树
一般二叉树采用这种结构会造成空间浪费。
2.链表存储;
这里写图片描述

原创粉丝点击