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

数据结构:第五章知识总结

2014-12-29 23:22 246 查看
         在第五章里,我们学习了树。树是n个结点的有限集合,非空时必须满足:只有一个称为根的结点;其余结点形成m个不相交的子集,并称  根的子树。

        二叉树的定义:是n≥0个结点的有限集,它是空集(n=0)或由一个根结点及两棵互不相交的分别称作这个根的 左子树和右子树的二叉树组成。 二叉树不是树的特殊情形,与度数为2的有序树不同。 二叉树的4个重要性质:1二叉树上第i层上的结点数目最多为2^(i-1)(i≥1)。2.深度为k的二叉树至多有(2^k)-1个结点(k≥1);3在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1;4具有n个结点的完全二叉树的深度为int(log2n)+1. 满二叉树是一棵深度为k,结点数为(2^k)-1的二叉树;完全二叉树是满二叉树在最下层自右向左去处部分结点;  

         根据访问结点的次序不同可得三种遍历:先序遍历(前序遍历或先根遍历),中序遍历(或中根遍历)、后序遍历(或 后根遍历)。时间复杂度为O(n)。  

        利用二叉链表中的n+1个空指针域来存放指向某种遍历次序下的前趋结点和后继结点的指针,这些附加的指针就称为“线索”,加上线索的二叉链表就称为线索链表。

        树和森林及二叉树的转换是唯一对应的。  转换方法:1树变二叉树:兄弟相连,保留长子的连线。2·二叉树变树:结点的右孩子与其双亲连。 3 ·森林变二叉树:树变二叉树,各个树的根相连。

       树的带权路径长度是树中所有叶结点的带权路径长度之和。树的带权路径长度最小的二叉树就称为最优二叉树 (即哈夫曼树)。哈夫曼树的应用最广泛地是在编码技术上,它能够容易地求出给定字符集及其概率分布的最优前缀码。哈夫曼编码的构造很容易,只要画好了哈夫曼树,按分支情况在左路径上写代码0,右路径上写代码1,然后从上到下到叶结 点的相应路径上的代码的序列就是该结点的最优前缀码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐