栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

二叉树的概念和代码实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

二叉树的概念和代码实现

目录

一:什么是树

二:树的基本术语

三 :二叉树

二叉树的定义:

 三:数和二叉树的抽象数据类型定义

四:二叉树的性质

 五:两种特殊的二叉树

六:二叉树的顺序存储表示

 七:链式存储结构

 八:遍历二叉树和线索二叉树

8.1算法实现: 利用递归

 利用栈​编辑

 利用队列​编辑

层次遍历

九:二叉树遍历算法的应用

1:建立二叉树​编辑

 2:复制二叉树

 3计算二叉树深度

 4:计算总结点个数

5:计算叶子结点个数

十:线索二叉树(省略)

十一:树和森林

树是什么?

1 树的存储结构 -双亲表示法

 2    树的存储结构 孩子链表

 3:带双亲的孩子链表

4:孩子兄弟表示法

11.1:树和森林 二叉树 树 森林

 1:树 -> 二叉树​编辑

 2:二叉树变树

 3:森林变为二插树

4:二叉树变为森林

 11.2 树和森林的遍历

 1:先序遍历实例

 2:中序遍历(类似后跟)

 十二:哈夫曼树

12.1 哈夫曼树的概念

 哈夫曼树 的特点:​编辑

 12.2 哈夫曼树的构造方法

12.2.2 实例:

12.3 哈夫曼树构造算法的实现


一:什么是树

2:树的定义

那么 从直观上来看

二:树的基本术语

各种不同的树 :

 

 

 

三 :二叉树

 1:为啥要研究二叉树而不是树?

二叉树的定义:

 注意:二叉树和树

 三:数和二叉树的抽象数据类型定义

 

 

四:二叉树的性质

 

 五:两种特殊的二叉树

 

  

 

 归纳法证明

六:二叉树的顺序存储表示

 

 

 七:链式存储结构

 

 

 

 

 八:遍历二叉树和线索二叉树

 

 

 

8.1算法实现: 利用递归

 

 

 利用栈

 利用队列

 

层次遍历

 

 

九:二叉树遍历算法的应用

1:建立二叉树

 代码

 2:复制二叉树

 

 3计算二叉树深度

 

 4:计算总结点个数

5:计算叶子结点个数

 

十:线索二叉树(省略)

十一:树和森林

树是什么?

1 树的存储结构 -双亲表示法

 

 2    树的存储结构 孩子链表

 

 3:带双亲的孩子链表

4:孩子兄弟表示法

 

 

 向右的都是兄弟 都是谁儿子?

11.1:树和森林 二叉树 树 森林

 1:树 -> 二叉树

 

 为啥要旋转 ?好看!

 2:二叉树变树

我的口诀:向右的都是兄弟 ,兄弟断线 找父母

 
左孩右右连双亲,
去掉原来右孩线。

 3:森林变为二插树

 

实例:

 

4:二叉树变为森林

 11.2 树和森林的遍历

 

 

 1:先序遍历实例

 2:中序遍历(类似后跟)

 

 十二:哈夫曼树

引入:

 

怎么设计比较过程使得 路程最小 

12.1 哈夫曼树的概念

 

 

 

 哈夫曼树 的特点:

 是完全二叉树 带权路径长度最短

 12.2 哈夫曼树的构造方法

 

 

why? 1 :构造了新的n-1个结点 2:都是2个结点造新树

12.2.2 实例:

12.3 哈夫曼树构造算法的实现

 第一步:构造森林全是根 (2n-1个根)

 

第二步:选择两小造新树

第三步:删除量小添新人 (√)

第四步:重复2,3步

代码:先初始化 后构造

 然后构造

 

 实例:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971390.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号