- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国家计算机二级考试第一章资料.ppt
* 1.冒泡排序 基本思想 对存放原始数据的数组,按从后往前的方向进行多次扫描,当发现相邻两个数据的次序与排序要求的“递增次序”不符合时,即将这两个数据进行互换。这样,较小的数据就会逐单元向前移动,好象气泡向上浮起一样。 性能分析 假设线性表的长度n,则在最坏情况下,需要的比较次数为n(n-1)/2。 * 1.冒泡排序 * 2.快速排序 基本思想 任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。 快速排序的平均时间复杂度为O(nlog2n)。 * 2.快速排序 P66-5:快速排序法 初始顺序: 66 13 51 76 81 26 57 69 23 一次交换: 23 13 51 76 81 26 57 69 66 二次交换: 23 13 51 66 81 26 57 69 76 三次交换: 23 13 51 57 81 26 66 69 76 四次交换: 23 13 51 57 66 26 81 69 76 五次交换: 23 13 51 57 26 66 81 69 76 * * 1.8.2 插入类排序法 基本思想: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。 方法: 简单插入排序 希尔排序 * 1.简单插入排序法 基本思想: 把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。 在最坏的情况下,需要n(n-1)/2次比较。 * 1.简单插入排序法 * 2.希尔排序 基本思想 先将整个待排元素序列分割成若干个子序列(由相隔某个增量h的元素组成的)分别进行直接插入排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的。 增量序列一般取 ,其中n为待排序序列的长度 在最坏情况下,希尔排序的时间复杂度为 * 2.希尔排序 * 1.8.3 选择类排序法 基本思想: 每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子序列的最后,直到全部记录排序完毕。 方法: 简单选择排序 堆排序 * 1.简单选择排序法 基本思想: 扫描整个线性表,从中选出最小的元素,将它交换到表的最前面;然后对剩下的子表采用同样的方法,直到子表空为止。 最坏情况下,需要比较n(n-1)/2次。 * 1.简单选择排序法 * 2.堆排序法 堆的定义 具有n个元素的序列,当且仅当满足 ① 或 ② 时称之为堆。①称为大根堆;②称为小根堆 。 * 2.堆排序法 建堆 在建堆的过程中,总是将根结点值与左、右子树的根结点值进行比较,若不满足堆的条件,则将左、右子树根结点值中的大者与根结点值进行交换。这个调整过程一直做到所有子树均为堆为止。 堆排序 (1)首先将一个无序序列建成堆。 (2)然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。不考虑已经换到最后的那个元素,只考虑前n-1个元素构成的子序列,将该子序列调整为堆。 反复做步骤(2),直到剩下的子序列空为止。 在最坏情况下,堆排序法需要比较的次数为O(nlog2n)。 P51-8:堆排序 * Q M G B N A Z K L T S Y H X P E * 各种排序法比较 * 1.4.1 栈及其基本运算 2.栈的顺序存储及其运算 top=0:栈空 top=m:栈满 栈的基本运算 入栈运算 退栈运算 读栈顶元素 * 1.4.2 队列及其基本运算 1.队列的定义 限定只能在表的一端进行插入和在另一端进行删除操作的线性表 队尾(rear):允许插入的一端 队头(front):允许删除的另一端 先进先出(FIFO)表或后进后出(LILO)线性表 基本操作 入队运算:往队列的队尾插入一个元素,队尾指针rear的变化 退队运算:从队列的排头删除一个元素,队头指针front的变化 * 1.4.2 队列及其基本运算 2.循环队列及其运算 队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用 入队运算 :队尾指针加1,并当rear=m+1时置rea
文档评论(0)