(培训课件)数组应用的技巧与方法.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(培训课件)数组应用的技巧与方法

* (湖南师大附中内部资料)高三化学习总复习课件:高三第五次周考试卷分析课0801(课件)(培训课件)班组建设与5S管理培训多媒体计算机系统常用硬件设备教材 * 数组应用的技巧与方法 附加:计数器、累加器、累乘器 计数器 int count; while(…){ … count ++ } 累加器 int s; for(…) { … a=…; s=s+a; } 累乘器 int s; for(…) { … a=…; s=s*a; } 关于一维数组的问题 一般一维数组所涉及的主要问题有 排序 插入 删除 查找 分类统计 涉及到一些算法,我们通过例题介绍一部分 具体问题的解题算法的思路要靠自己慢慢去体会 1. 什么是排序? 将一组杂乱无章的数据按一定的规律顺次排列起来。 2. 排序的目的是什么? 存放在数据表中 按关键字排序 3.排序算法的好坏如何衡量? 时间效率——排序速度(即排序所花费的全部比较次数) 空间效率——占内存辅助空间的大小 稳定性——若两个记录A和B的关键字值相等,但排序后A、B的先后次序保持不变,则称这种排序算法是稳定的。 ——便于查找! 排序算法 插入排序 直接插入排序 折半插入排序 表插入排序 希尔排序 交换排序 冒泡排序 快速排序(不稳定) 选择排序 归并排序 基数排序 插入排序 插入排序的基本思想是: 每步将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。 简言之,边插入边排序,保证子序列中随时都是排好序的。 直接插入排序 新元素插入到哪里? 例1:关键字序列T=(13,6,3,31,9,27,5,11), 请写出直接插入排序的中间过程序列。 【13】, 6, 3, 31, 9, 27, 5, 11 【6, 13】, 3, 31, 9, 27, 5, 11 【3, 6, 13】, 31, 9, 27, 5, 11 【3, 6, 13,31】, 9, 27, 5, 11 【3, 6, 9, 13,31】, 27, 5, 11 【3, 6, 9, 13,27, 31】, 5, 11 【3, 5, 6, 9, 13,27, 31】, 11 【3, 5, 6, 9, 11,13,27, 31】 在已形成的有序表中线性查找,并在适当位置插入,把原来位置上的元素向后顺移。 最简单的排序法! 交换排序 两两比较待排序记录的关键码,如果发生逆序(即排列顺序与排序后的次序正好相反),则交换之,直到所有记录都排好序为止。 交换排序的主要算法有: 1) 冒泡排序 2) 快速排序 交换排序的基本思想是: 冒泡排序 基本思路:每趟不断将记录两两比较,并按“前小后大”(或“前大后小”)规则交换。 优点:每趟结束时,不仅能挤出一个最大值到最后面位置,还能同时部分理顺其他元素;一旦下趟没有交换发生,还可以提前结束排序。 前提:顺序存储结构 例:关键字序列 T=(21,25,49,25*,16,08),请写出冒泡排序的具体实现过程。 21,25,49, 25*,16, 08 21,25,25*,16, 08 , 49 21,25, 16, 08 ,25*,49 21,16, 08 ,25, 25*,49 16,08 ,21, 25, 25*,49 08,16, 21, 25, 25*,49 初态: 第1趟 第2趟 第3趟 第4趟 第5趟 选择排序 算法:首先找到数据清单中的最小的数据,然后将这个数据同第一个数据交换位置;接下来找第二小的数据,再将其同第二个数据交换位置,以此类推。 第1次,在数组a的n个数据中选出其小者(只标记其所在位置),若它不在其位置(即其下标不等于1)则与第一个数据进行交换(只需交换一次),经过本次处理后,总可以使得数组a的第1个数据为第1小。 第2次,在数组a的后n-1个数据(即出去已经选择的最小者的各数据)中,经过类似的处理后,可以使得数组a的第2个数据为第2小。 第i次,在数组a后的n-i+1个数据中,经过类似选择处理后,数组a的第i个数据为第i小。 第n-1次,在数组后的2个数据中,经过类似处理后,总可以使数组a的第n-1个数据为第n-1小。而这时候第n个数据是第n小。 查找算法 查找之前要求排序,不然无章可查 顺序查找 按照排好序的顺序进行查找,比如对一个升序排列的数组中,找到第一个大于需要查找的数 折半查找(二分查找) 折半查找 先给数据排序(例如按升序排好),形成有序表,然后

文档评论(0)

gz2018gz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档