数据结构学习笔记——树

来源:互联网 发布:易语言ce源码 编辑:程序博客网 时间:2024/06/05 00:26

1.基本概念:

结点的度:是树结点的子孩子的个数(度为0的结点是叶节点或是称终端结点)

树的度:是各个结点的子孩子的个数最大的值

树的深度(高度):是指树的层

有序树和无序树:各子树从左到右有序的话,则称有序树,否则无序树。

二叉树:树的度最大为2的树,且左右子树不能调换,左右子树是不同的结构

左(右)斜树:只有左(右)孩子的树

满二叉树:所有的分支结点都有左右孩子,且所有叶子结点在同一层

完全二叉树:对于一个有N结点的二叉树按层编号,如果编号为I的结点与同样深度的满二叉树为I的结点在相同的位子,则可以称为完全二叉树。

(与满二叉树的区别在于:在最后一层可以从右到左的少掉叶子结点)

2.二叉树的几个常用的性质:

i层最多有2^(i-1)个结点

深度为k的二叉树至多有2^k-1个结点

对于任何一颗二叉树,如果终端节点数为n,度为2的结点数为l,则n=l+1;

n个结点的完全二叉树的高度为()

n个结点的完全二叉树的任一结点i

若2i>n,则无左孩子否则2i是左孩子

若2i+1>n,则无右孩子,否则2i+1是右孩子

3.常用的三种遍历:

前序:根->左孩子->右孩子

中序:左孩子->根->右孩子

后序:左孩子->右孩子->根

4.哈夫曼树(最优而二叉树):最短路径树(将相应的权值加载到相应的路径上)。




0 0
原创粉丝点击