| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 第五章 树和二叉树(二) -> 正文阅读 |
|
[数据结构与算法]第五章 树和二叉树(二) |
5.7 树和森林5.7.1 树的存储结构 1双亲表示法 2孩子链表 ?3 孩子兄弟表示(二叉树表示法,二叉链表表示法) ?表示方法 ?总结:左斜的元素为一层的,右边存放的是下一个兄弟结点 5.7.2 树与二叉树的转换
1将树转化为二叉树 ?方法: ?例题1 ?2将二叉树转化为树 ?例题2 ?5.7.3 森林与二叉树的转化 1森林转化成二叉树 ?例题1 ?2二叉树转化成森林 ?例题2 ?5.7.4树与森林的遍历 1树的遍历(三种)
?2 森林的遍历 将森林看作由三个部分组成的
?例题1 5.8哈夫曼树及其应用 基本概念
哈夫曼树:最优树(带权路径长度(WPL)最短的树) 哈夫曼树:最优二叉树(带权路径长度(WPL)最短的二叉树) 5.8.2 哈夫曼树的构造算法 哈夫曼树中权越大的叶子离根越近 贪心算法:构造哈夫曼树时首先选择权值小的叶子结点 构造哈夫曼树的方法 ?例题1 ?总结: 1、在哈夫曼算法中,初始有n棵树,要经过n-1次合并最终形成哈夫曼树 2、经过n-1次合并产生n-1个新结点,且这n-1个新结点都是具有两个孩子的分支结点 可见:哈夫曼树中共有2n-1个结点,且其所有的分支结点的度均不为1 5.8.3哈夫曼树算法的实现 ?5.8.4哈夫曼编码 定义:设计的前缀码使得电文总长最短。 方法 ?例题1 ? 总结:哈夫曼数并不唯一 ?1、首先根据题目的信息画出哈夫曼树 2、依照左子树为”0“,右子树为”1“,对每个元素进行编码(从根结点出发) 5.8.5 哈夫曼编码的实现过程? ? 5.8.6应用:文件的编码与解码 ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:02:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |