- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章算法结构算法基础
数据结构与算法基础 主要内容 1算法基础知识 2数据结构的基本概念 3现行表及其属虚存储结构 4栈和队列 5二叉树 6查找和排序 计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。 运算是由计算机来完成,这就要设计相应的插入、删除和修改的算法 。也就是说,数据结构还需要给出每种结构类型所定义的各种运算的算法。 直观定义:数据结构是研究程序设计中计算机操作的对象以及它们之间的关系和运算的一门学科。 地位: “数据结构”在计算机科学中是一门综合性的专业基础课。 数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。 数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。 (1)数据的逻辑结构。数据的逻辑结构是数据间关系的描述,它只抽象地反映数据元素间的逻辑关系,而不管其在计算机中的存储方式。 数据的逻辑结构分为线性结构和非线性结构。 1.2 常用数据结构的存储与运算 一、线性表 (一)、线性表的基本概念 1、线性表的定义 线性表是最简单、最常用、最基本的一种数据结构。线性表的逻辑结构是n 个数据元素的有限序列: (a1,a2,... ,an) 表中元素的个数门定义为线性表的长度(n=0),n=0的表称为空表。 假溢出 3、根据遍历结果画出二叉树 (1)由于前序遍历法(最首)和后序遍历法(最尾)能够明确根的位置,所以此类题题干中必须给出两者之一的遍历结果; (2)此类题题干中必须给出中序遍历结果; 例题: 后序遍历结果为: FEGJIHDCBA 中序遍历结果为: EFBGCHIJDA 1)FEGJIHDCBA 和 EFBGCHIJD A 左 根 右(为空) 2)FEGJIHDCB 和 EF B GCHIJD 左 根 右 3) FEGJIHDC 和 G C HIJD 左 根 右 4) FEGJIHD 和 HIJ D 左 根 右(为空) 5) FEGJIH 和 H IJ 左(为空) 根 右 6) FEGJI 和 I J 左(为空) 根 右 7) FE 和 E F 左(为空) 根 右 1.3 查找 0一、基本概念 1、关键字:是数据元素中可以唯一标识一个数据元素的数据项。 2、查找:根据给定的关键值,在一组数据中确定一个其关键字等于给定值的数据元素的过程。 查找的确切定义为:给定一个值K,在含有用个记录的文件中进行搜索,寻找一个其关键字等于给定的K值的记录,如找到,则输出记录或记录在文件中的相对位置,称查找成功;否则输出查找不成功的信息,称查找失败。 冒泡法排序(从小到大)。 冒泡法排序 (续) 第二趟排序情况如下: 3 5 6 7 0 8 第一次 3和5比较,不交换 3 5 6 7 0 8 第二次 5和6比较,不交换 3 5 6 7 0 8 第三次 6和7比较,不交换 3 5 6 7 0 8 第四次 7和0比较,交换 3 5 6 0 7 8 在第二趟排序中,最大数8不用参加比较,其余的5个数比较了4次,把其中的最大数7排在最后,排出7 8。 以此类推: 第三趟比较3次,排出 6 7 8 第四趟比较2次,排出 5 6 7 8 第五趟比较1次,排出 3 5 6 7 8 最后还剩下1个数0,不需再比较,得到排序结果:0 3 5 6 7 8 图9.3 冒泡排序示例 算法分析 最坏情况下,待排序记录按关键字的逆序进行排列,此时,每一趟冒泡排序需进行i次比较,3i次移动。经过n-1趟冒泡排序后,总的比较次数为 总的移动次数为3n(n-1)/2 次 快速排序 快速排序的基本思想是:从待排序记录序列中选取一个记录(通常选取第一个记录),其关键字设为K1,然后将其余关键字小于K1的记录移到前面,而将关键字大于K1的记录移到后面,结果将待排序记录序列分成两个子表,最后将关键字为K1的记录插到其分界线的位置处。我们将这个过程称作一趟快速排序。通过一次划分后,就以关键字为K1的记录为分界线,将待排序序列分成了两个子
您可能关注的文档
最近下载
- IFC050-Modbus通讯说明文件.docx VIP
- 《金川雪梨膏》标准文本.pdf VIP
- 2025年中国冷藏汽车行业市场深度评估及投资策略咨询报告.docx
- 市政管网工程项目施工方案施工组织设计.doc VIP
- 认证质量管理(ISO9001)手册(质量管理体系).pdf VIP
- 中国神经外科重症患者感染诊治专家共识CB.ppt VIP
- GB50366-2005 地源热泵系统工程技术规范.docx VIP
- SOLAS公约2016年中文综合文本(船海人版)- 第III章 救生设备和装置.pdf VIP
- 2024年南京市浦口区中医院招聘考试真题.docx VIP
- 中国谷物播种机市场供需现状及投资战略研究报告.docx
原创力文档


文档评论(0)