2021-2022年收藏的精品资料高中信息技术竞赛班数据结构专项培训教程09内部排序教案.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2021-2022年收藏的精品资料高中信息技术竞赛班数据结构专项培训教程09内部排序教案.doc》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料高中信息技术竞赛班数据结构专项培训教程09内部排序教案.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、9 内部排序在数据结构里,排序一般分为:插入排序、交换排序、选择排序、归并排序和基数排序五种。写在前面的话:在看下面的各种算法之前,请先想想,如果给你一个无序的数列,你如何去排序?设计出你自己的算法。还有没有其它方法? 相信自己的能力,排序算法是连小学生都可以设计出的!不希望以后听到这样的话:“排序的算法我忘了”,排序算法不是背出来的!9.1 插入排序 (Insertion Sort)基本思想: 每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。排序过程: 【示例】: 初始关键字 49 38 65 97 76 13 27 49
2、 J=2(38) 38 49 65 97 76 13 27 49 J=3(65) 38 49 65 97 76 13 27 49 J=4(97) 38 49 65 97 76 13 27 49 J=5(76) 38 49 65 76 97 13 27 49 J=6(13) 13 38 49 65 76 97 27 49 J=7(27) 13 27 38 49 65 76 97 49 J=8(49) 13 27 38 49 49 65 76 97 9.2 选择排序基本思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。排序过程
3、:【示例】: 初始关键字 49 38 65 97 76 13 27 49第一趟排序后 13 38 65 97 76 49 27 49第二趟排序后 13 27 65 97 76 49 38 49第三趟排序后 13 27 38 97 76 49 65 49第四趟排序后 13 27 38 49 49 97 65 76第五趟排序后 13 27 38 49 49 97 97 76第六趟排序后 13 27 38 49 49 76 76 97第七趟排序后 13 27 38 49 49 76 76 97最后排序结果 13 27 38 49 49 76 76 979.3 冒泡排序 (BubbleSort)基本思
4、想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。排序过程:设想被排序的数组R1.N垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上漂浮,如此反复进行,直至最后任何两个气泡都是轻者在上,重者在下为止。【示例】: 49 13 13 13 13 13 13 13 38 49 27 27 27 27 27 2765 38 49 38 38 38 38 3897 65 38 49 49 49 49 4976 97 65 49 49 49 49 4913 76 97
5、65 65 65 65 6527 27 76 97 76 76 76 7649 49 49 76 97 97 97 97 【练习1】 请分别用以上三种算法完成。同学们进行了身体素质测量,其中立位体前屈的成绩是以XX . XX cm来记录的,这个成绩不可能超过100,当有可能为负数(当指尖碰不到足时),现有若干同学的成绩,请帮他们排序。输入: 第一行 正整数 n (有n个同学) 第二行 n个成绩 输出: n个成绩从大到小的排列9.4 快速排序 (Quick Sort)基本思想:在当前无序区R1.H中任取一个数据元素作为比较的基准元素,用此基准元素将当前无序区划分为左右两个较小的无序区:R1.I-
6、1和RI+1.H,且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准元素则位于最终排序的位置I上,即R1.I-1RIRI+1.H(1IH),当R1.I-1和RI+1.H均非空时,分别对它们进行上述的划分过程,直至所有无序子区中的数据元素均已排序为止。排序过程:将数列从小到大排序以第一个元素作为基准,设两指针i和j,初始时i指向区间第一个元素,j指向最末一个元素;先移动j指针,如果j元素比i元素大,j指针前移,否则若j小于i,则交换i和j 。交换i和j后,移动i指针,如果i元素比j元素小,i指针后移,否则若i大于j,则交换i和j 。再移动j指针,轮流
7、移动i指针和j指针,直到j = i 。ij将数列分成两部分,分别进行上述过程。【示例】: 初始关键字 ,j指针左移 49 38 65 97 76 13 27 49ij第一次交换后 ,j指针不动,i指针右移 27 38 65 97 76 13 49 49ij第二次交换后 ,i指针不动,j指针左移 27 38 49 97 76 13 65 49 ji第三次交换后 ,j指针不动,i指针右移 27 38 13 97 76 49 65 49jiij第四次交换后,i指针不动,j指针左移 27 38 13 49 76 97 65 49j指针左移,遇i指针 27 38 13 49 76 97 65 49(递归
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2021 2022 收藏 精品 资料 高中 信息技术 竞赛 数据结构 专项 培训 教程 09 内部 排序 教案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内