本文介绍: 算法描述如下:1)将这N个结点分别作为N棵仅含一个结点二叉树,构成森林F。2)构造一个新结点,并从F中选取两棵根结点权值最小的树作为新结点的左、右子树,并且将新结点的权值置为左、右子树上根结点的权值之和。3)从F中删除刚才选出的两棵树,同时将新得到的树加入F中。4)重复步骤2)和3),直至F中只剩下一棵树为止。

目录

一、树的概念

树的概念

二、树与二叉树转换

三、树与二叉树性质​编辑

四、二叉树遍历

二叉树的遍历

先序遍历

中序遍历

后序遍历

层序遍历

五、哈夫曼树与哈夫曼编码

算法的描述如下:

六、线索二叉树


一、树的概念

树的概念

二、树与二叉树转换

三、树与二叉树性质

四、二叉树遍历

二叉树遍历

先序遍历

先序遍历: 1)访问结点; 2)先序遍历左子树; 3)先序遍历右子树。

中序遍历

中序遍历: 1)中序遍历左子树; 2)访问结点; 3)中序遍历右子树。

后序遍历

后序遍历: 1)后序遍历左子树; 2)后序遍历右子树; 3)访问结点

层序遍历

层次遍历: 若树为空,则什么都不做直接返回。 否则从树的第一层开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问

五、哈夫曼树与哈夫曼编码

算法描述如下:

1)将这N个结点分别作为N棵仅含一个结点的二叉树,构成森林F。

2)构造一个新结点,并从F中选取两棵根结点权值最小的树作为新结点的左、右子树,并且将新结点的权值 置为左、右子树上根结点的权值之和。

3)从F中删除刚才选出的两棵树,同时将新得到的树加入F中。

4)重复步骤2)和3),直至F中只剩下一棵树为止。

六、线索二叉树

        N个结点的二叉链表每个结点都有指向左右孩子的结点指针,所以一共有2N个指针,而N个结点的二叉 树一共有N-1条分支,也就是说存在2N-(N-1)=N+1个空指针。比如左图二叉树中有6个结点,那么就有7个空 指针。

        指向前驱和后继的指针称为线索,加上线索的二叉链表就称为线索链表,相应的二叉树就称为线索二叉树。

        对二叉树以某种次序遍历使其变为线索二叉树的过程就叫做线索化。

原文地址:https://blog.csdn.net/m0_54182006/article/details/134591855

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_3778.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注