[2018年最新整理]《可视化计算》第6章信息论、哈夫曼编码与二叉树(B)
堆排序流程 creatheap子程序 * 堆排序流程 heap_sort_output 子图 * 堆排序的应用场合 一般的快速排序,归并排序都是在排序结束后才能确定数据元素的全部序列; 堆排序则是每次输出一个堆顶元素,然后对堆进行再调整,保证堆顶元素总是当前剩下元素的最大或最小 欲在一个大量数据的文件中,如含有5000个元素的记录文件中选取前10个最大的元素,可采用堆排序 * 二叉搜索树 是一棵空树,或者是具有下列性质的二叉树: 1. 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2. 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 3. 它的左、右子树也分别为二叉搜索树。 * 二叉搜索树的例子 * 二叉搜索树的优点 在二叉搜索树中进行查找的最糟时间复杂度为O(n),等于顺序查找; 但它支持动态查询(当搜索关键词没有在二叉搜索树中时,可以进行插入,这是该算法有别于大部分查找算法的特点) 有很多二叉搜索树改良算法可以使树高为logn,如AVL树等 是一种好的动态排序方法 * 构造二叉搜索树 使用随机数产生一个无序序列,用该序列构造二叉搜索树,并使用金字塔(下图)的形式输出该树,以及排序结果 * 二叉搜索树的构建说明 本例采用顺序形式保存二叉搜索树(BST)并输出排序结果,另外,需要考虑二叉搜索树的“金字塔”形式的输出(展示各种随机产生的二叉搜索树的特点) 为了简化算法,本例没有将动态插入的功能列入,有兴趣者可自行设计 * 二叉搜索树的主要模块(I) main子图控制算法的整体流程 init_first子图首次初始化使用随机数产生待排序数组a[];数组元素个数可以设定;对两个BST的指针数组l[]、r[]分别进行初始化 binary_sort子图进行BST的构建; * 二叉搜索树 Main子图 * 二叉搜索树 init_first子图 * 二叉搜索树 binary_sort子图 * 二叉搜索树主要模块(II) init_second子图进行第二次初始化,创建b[]向量数组,用于数组形式的BST的存贮 binary_take_out子图实现输出金字塔式数组b[]的填充 binary_output子图进行数组形式的BST输出; sort子程序进行BST排序结果的输出 * 二叉搜索树 init_second子图 * 二叉搜索树:binary_take_out子图(I) * 二叉搜索树:binary_take_out子图(II) * 二叉搜索树 binary_output子图 * 二叉搜索树 sort子程序 * 二叉搜索树的金字塔型输出 * 小结与回顾 树结构的理论和应用在实践上,是训练计算思维中的逻辑思维的良好机遇 因为计算思维中的重要内容之一的逻辑思维是从一个从已知信息推导出未知信息的过程,而用数据方式对树结构进行抽象、描述、计算和应用,正是这样的一个典型过程 * 在heap_sort_output,可以看到排序输出是从堆顶取走数据元素输出, 然后从堆底取元素补上,再用creatheap子程序进行调整 第6章信息论、哈夫曼编码与二叉树 PART B 《可视化计算》 * 二叉树 二叉树(Binary Tree)是指树的度为2的有序树。它是一种最简单、而且最重要的树,在计算机科学领域有着广泛地应用 定义 二叉树或者是一棵空树,或者是一棵由一个根节点和两棵互不相交的分别称作根的左子树和右子树所组成的非空树,左子树和右子树又同样都是一棵二叉树 * 二叉树的例子 * 二叉树重要性质 二叉树上终端节点数等于双分支节点数加1 二叉树上第i层上至多有2i-1个节点(i≥1) 性质3深度为h的二叉树至多有2h-1个节点 * 满二叉树(a)和完全二叉树 (b) * 理想平衡树(a)和普通二叉树(b) 理想平衡树包含满二叉树和完全二叉树, 但不一定是完全二叉树(a) * 二叉树的存储结构 顺序存储结构 顺序存储一棵二叉树时,首先对该树中每个节点进行编号,然后以各节点的编号为下标,把各节点的值对应存储到一维数组中。树中各节点的编号与等深度的完全二叉树中对应位置上节点的编号相同 * 顺序存储的二叉树 * 二叉树的存储结构 链接存储结构 在二叉树的链接存储:在每个节点中设置三个域:值域、左指针域和右指针域,其节点结构如下图: Left data Right data表示值域,用于存储放入节点的数据元素, left和right分别表示左指针域和右指针域, 用以分别存储左子和右子节点的存贮位置 * 二叉树的存储结构 在节点结构中再增加一个parent指针域,用来指向其父节点 这种存储结构既便于查找子节点,也便于查
您可能关注的文档
- [2018年最新整理]§格林公式及其应用.ppt
- [2018年最新整理]§波的能量平均能流密度.ppt
- [2018年最新整理]§泰勒公式.ppt
- [2018年最新整理]§洛朗(Laurent)级数展开.ppt
- [2018年最新整理]§用z变换解差分方程.ppt
- [2018年最新整理]§状态变量与状态方程.ppt
- [2018年最新整理]§用拉普拉斯变换法分析电路、S域元件模型.ppt
- [2018年最新整理]§相似矩阵及特征值和特征向量的性质.ppt
- [2018年最新整理]§矩阵的初等变换.ppt
- [2018年最新整理]§矩阵的初等变换与初等矩阵.ppt
- 中国国家标准 GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具.pdf
- 《GB/T 6675.9-2025玩具安全 第9部分:化学及类似活动的实验玩具》.pdf
- GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 中国国家标准 GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求.pdf
- 《GB/T 46975-2025婴童用品 便携式婴儿睡篮技术要求》.pdf
- 《GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法》.pdf
- GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 6675.14-2025玩具安全 第14部分:指画颜料要求和测试方法.pdf
- 中国国家标准 GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用.pdf
- 《GB/T 33772.3-2025质量评定体系 第3部分:印制板及层压板最终产品检验及过程监督用抽样方案的选择和使用》.pdf
最近下载
- 2025年全真模拟房地产经纪人协理考试试题及答案.doc VIP
- GB∕T 2421-2020 环境试验 概述和指南.pdf
- 高中数学 《高中数学知识要点及解题方法精粹》.docx VIP
- 麦克维尔变频螺杆式风冷热泵机组PM-MHSV-C004.pdf
- 山东省济南市槐荫区2024-2025学年二年级上册期末测试数学试卷(含答案).pdf VIP
- 《GB_T 17626.5-2019电磁兼容 试验和测量技术 浪涌(冲击)抗扰度试验》专题研究报告.pptx
- CTT2000LM用户手册(维护分册)教程文件.docx VIP
- 2025年山东专升本计算机真题及答案.docx VIP
- 工业和信息化领域数据安全风险评估实施细则.pptx VIP
- 江西省“三新”协同教研共同体2025届高三12月联考生物学试卷(含答案).docx VIP
原创力文档

文档评论(0)