




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机技术应用基础,第5章 数据结构基础,5.1 引言 5.2 线性结构 5.3 树形结构 5.4 内部排序 5.5 检索(查找),5.1 引言,5.1.1 什么是数据结构 数据之间的相互关系 5.1.2 数据的逻辑结构 5.1.3 数据的存储结构 5.1.4 数据的运算 检索、插入、更新、排序,5.1.2数据的逻辑结构,集合:无其他关系 线性结构:一对一 树形结构:一对多 图形结构:多对多,5.1.3 数据的存储结构,数据的逻辑结构在计算机存储器中的实现,也称物理结构 顺序映射方式 链接映射方式 索引映射方式 散列映射方式,5.2 线性结构,5.2.1 线性表 5.2.2 栈 5.2.3 队列 5.2.4 链表,5.2.1 线性表,线性列表是一个列表,列表内每个元素都有唯一的后继元素(除去最后一个元素)。线性表具有顺序结构。 向量(一维数组):类型相同、有序,插入,删除,5.2.2 栈,栈是一种线性表,对栈的添加和删除只能在“栈顶”进行。,1、入栈push,入栈在栈顶添加新的元素,入栈后,新的元素成为栈顶。如果没有足够的空间,栈处于溢出状态,不能添加元素。,2、出栈pop,出栈将栈顶元素移走并返回给用户。当最后一个元素被删除后,栈为空,当栈为空时不能再执行出栈操作。,5.2.3 队列,队列也是一种线性表。数据只能在称为“尾部”的一端插入,只能从称为“头部”的一端删除。,1、入列,入列enquene操作将数据插入队尾,新元素成为队尾。空间用完后,不能插入数据。,2、出列,出列dequeue从队首移出数据并返回给用户。队列中没有数据时,不能执行出列。,5.2.4 链表,1、链接栈,2、链式队列,5.3 树形结构,5.3.1 树及其遍历 5.3.2 二叉树 5.3.3 遍历二叉树,5.3.1 树及其遍历,树包括一组有限的元素,这些元素称为结点;同时包括一组有向线段,用来连接结点,称为分支。 一个结点的子树个数称为该结点的度数,5.3.2 二叉树,二叉树是结点的有限集合,此集合或为空集,或为由一个根结点和两棵互不相交的称为左右的二叉树构成 深度:树中结点的最大层次 平衡因子:二叉树中任一结点的右子树与左子树的深度之差 平衡二叉树:所有结点的平衡因子的绝对值不大于1的二叉树,5.3.3 遍历二叉树,遍历二叉树是按照预定的顺序处理每一个节点且仅处理一次。 先根顺序遍历、中根顺序遍历、后根顺序遍历,先序遍历,在先序遍历(DLR)中,首先访问根,再访问左子树,最后访问右子树。ABCDEF,中序遍历,在中序遍历(LDR)中,首先处理左子树,再访问根,最后访问右子树。CBDAEF,后序遍历,在后序遍历(LRD)中,首先处理左子树,再访问右子树,最后访问根。CDBFEA,练习,一棵二叉数共有10个节点(分别用A、BJ表示),已知树的中序遍历结果为:DHBEAFCIGJ,前序遍历结果为:ABDHECFGIJ。回答下列问题。 请画出这棵二叉树。 写出该树的后序遍历结果。,5.5 内部排序,5.5.1 简单插入排序 5.5.2 简单选择排序 5.5.3 冒泡排序,5.5.1 简单插入排序,列表被分成两个子列表:已排序和未排序的;初始时已排序部分为空。 在每次扫描过程中,取出未排序列表中的第一个元素,然后转到已排序列表中,将其插入到合适的位置上。每次扫描,未排序列表增加1个,已排序列表减少1个。 对于n个数据,需要进行n-1次扫描。,插入排序,插入排序示意,插入排序示意,5.5.2 简单选择排序,列表被分成两个子列表:已排序和未排序的;初始时已排序部分为空。 排序时,从未排序列表中找到最小元素,与第一个元素交换。 经过选择和交换后,将未排序列表中的第一个元素划入排序列表中,这一过程称为一次扫描。每次扫描后,未排序列表减少一个元素,已排序列表增加一个元素。 对于n个数据,需要进行n-1次扫描。,选择排序,选择排序示意,选择排序示意,5.5.3 冒泡排序,列表被分成两个子列表:已排序和未排序的;初始时已排序部分为空。 在未排序的子列表中,最小的元素通过冒泡的方法选出来并移动到已排序子列表中,这一过程称为一次扫描。每次扫描,未排序元素增加1个,已排序元素减少1个。 冒泡时,进行两两比较,如果前者较大,则交换数据。 对于n个数据,需要进行n-1次扫描。,冒泡排序,冒泡排序示意,冒泡排序示意,冒泡法排序示意,10,1,2,7,6,8,9,3,4,5 第1轮 第2轮 第3轮,冒泡法排序示意,10,1,2,7,6,8,9,3,4,5 继续排序,5.6 检索(查找),查找实现在列表中确定目标所在位置。查找通常返回具有要查找目标值的第一个元素的位置(索引) 5.6.1 顺序检索 5.6.2 二分法检索 5.6.3 分块检索* 5.6.4 散列表检索*,5.6.1 顺序检索(查找),用于查找无序列表,一般用这种方法查找规模较小的列表。 顺序查找从表头开始逐个元素查找,当找到目标元素或查找完整个列表时,查找过程结束。,顺序查找示意,顺序查找示意,5.6.2 二分法检索(折半查找),顺序查找很慢,尤其当列表中数据非常多时,逐个元素比较非常费时。当列表有序时,可采用效率非常高的折半查找算法。 折半查找时,先测试中间元素,可以判断出目标在列表的前半部分还是后半部分。如果在前半部分,则不用比较后半部分数据,排除掉一半数据。 重复折半过程,直到找到目标或确定目标不在列表中。,示意,小结,数据结构:数据的逻辑结构、数据的存储结构和数据的运算 数据结构通常分为四
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省扬州市高邮市重点中学2024-2025学年初三下第二次月考试题含解析
- 家居色彩搭配培训课件
- 灭火器使用方法及注意事项培训
- 2025混凝土承包合同简易范本
- 2025紫菜软件ERP实施服务合同
- 2025年签订买卖合同需留意的法律问题
- 2025存量房居间买卖合同
- 2025国内域名转让合同范本
- 2025智能音箱采购合同
- 2025手游代理合同范文
- 人教版小学英语三起PEP常用表达法(三四年级共4册)
- 医学教程 《小儿腹泻》课件
- 高速公路隧道机电工程施工组织设计方案方案
- 拖挂式房车商业发展计划书
- 09S304卫生设备安装图集
- 护士长招聘笔试题与参考答案(某世界500强集团)2024年
- 户外趣味健步走活动设计方案2024
- 2024年广东省深圳市光明区建筑工务署第二批选聘特聘专干8人历年高频500题难、易错点模拟试题附带答案详解
- 成人中心静脉导管(CVC)堵塞风险评估及预防-2024团体标准
- 人教版四年级语文下册期中考试及答案
- 2024至2030年中国快速成型医疗器械市场现状研究分析与发展前景预测报告
评论
0/150
提交评论