您的位置:首页 > 理论基础 > 数据结构算法

【数据结构】二叉树

2016-01-21 16:37 309 查看
树的结构定义是一个递归的定义。

1、二叉树的顺序存储结构:用一组地址连续的存储单元依次从上至下,从左至右,存储二叉树上的结点元素。即第i个结点元素存储在下标第i-1的位置上。

#define MAX_SIZE 100

typedef TElemType SqBiTree[MAX_SIZE] //0 号单元存储根节点

2、二叉树的二叉链表存储表示

typedef struct BiTNode{

TElemType data;

struct BiTNode *lchild, *rchild; //左右孩子指针

}BiTNode, *BiTree;

3、遍历二叉树:先序遍历(根左右),中序遍历(左根右),后序遍历(左右根)。遍历二叉树的时间复杂是O(n)。

4、树的存储结构:双亲表示法、孩子表示法、孩子兄弟表示法。

5、Huffman树,即最优树,是一类带权路径长度最短的树。

Huffman树构造方法:a、根据给定的n个权值根结点,选取权值最小的两根结点作为左右子树构成新的二叉树,在集合中删除这两个根结点,加入新二叉树,重复上述步骤,直到构成一个棵树,即得到Huffman树。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: