2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)

2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)

ID:45203882

大小:107.80 KB

页数:8页

时间:2019-11-10

2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)_第1页
2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)_第2页
2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)_第3页
2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)_第4页
2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)_第5页
资源描述:

《2019-2020年高中信息技术 竞赛班数据结构专项培训教程 09内部排序教案 (I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2019-2020年高中信息技术竞赛班数据结构专项培训教程09内部排序教案(I)在《数据结构》里,排序一般分为:插入排序、交换排序、选择排序、归并排序和基数排序五种。写在前面的话:在看下面的各种算法之前,请先想想,如果给你一个无序的数列,你如何去排序?设计出你自己的算法。还有没有其它方法?相信自己的能力,排序算法是连小学生都可以设计出的!不希望以后听到这样的话:“排序的算法我忘了……”,排序算法不是背出来的!§9.1插入排序(InsertionSort)基本思想:  每次将一个待排序的数据元素,插入到前面已经排好序的数列中的

2、适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。排序过程: 【示例】:[初始关键字][49]38659776132749    J=2(38)[3849]659776132749    J=3(65)[384965]9776132749    J=4(97)[38496597]76132749    J=5(76)[3849657697]132749    J=6(13)[133849657697]2749    J=7(27)[13273849657697]49    J=8(49)[1327384949657

3、697]§9.2选择排序基本思想:  每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。排序过程:【示例】:  初始关键字[4938659776132749]第一趟排序后13[38659776492749]第二趟排序后1327[659776493849]第三趟排序后132738[9776496549]第四趟排序后13273849[49976576]第五趟排序后1327384949[979776]第六趟排序后132738494976[7697]第七趟排序后132

4、73849497676[97]最后排序结果1327384949767697§9.3冒泡排序(BubbleSort)基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。排序过程:设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上"漂浮",如此反复进行,直至最后任何两个气泡都是轻者在上,重者在下为止。【示例】:49131313131313133849272727

5、272727653849383838383897653849494949497697654949494949137697656565656527277697767676764949497697979797【练习1】请分别用以上三种算法完成。同学们进行了身体素质测量,其中立位体前屈的成绩是以XX.XXcm来记录的,这个成绩不可能超过100,当有可能为负数(当指尖碰不到足时),现有若干同学的成绩,请帮他们排序。输入:第一行正整数n(有n个同学)第二行n个成绩输出:n个成绩从大到小的排列§9.4快速排序(QuickSort)基本思

6、想:在当前无序区R[1..H]中任取一个数据元素作为比较的"基准元素",用此基准元素将当前无序区划分为左右两个较小的无序区:R[1..I-1]和R[I+1..H],且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准元素则位于最终排序的位置I上,即R[1..I-1]≤R[I]≤R[I+1..H](1≤I≤H),当R[1..I-1]和R[I+1..H]均非空时,分别对它们进行上述的划分过程,直至所有无序子区中的数据元素均已排序为止。排序过程:——将数列从小到大排序以第一个元素作为基准

7、,设两指针i和j,初始时i指向区间第一个元素,j指向最末一个元素;先移动j指针,如果j元素比i元素大,j指针前移,否则若j小于i,则交换i和j。交换i和j后,移动i指针,如果i元素比j元素小,i指针后移,否则若i大于j,则交换i和j。再移动j指针,……,轮流移动i指针和j指针,直到j=i。ij将数列分成两部分,分别进行上述过程。【示例】:初始关键字,j指针左移[4938659776132749]ij第一次交换后,j指针不动,i指针右移[2738659776134949]ij第二次交换后,i指针不动,j指针左移[2738499

8、776136549]ji第三次交换后,j指针不动,i指针右移[2738139776496549]jiij第四次交换后,i指针不动,j指针左移[2738134976976549]j指针左移,遇i指针[2738134976976549](递归过程)初始关键字[4938659776132749]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。