全国青少年信息学奥林匹克联赛排序算法

全国青少年信息学奥林匹克联赛排序算法

ID:18626722

大小:48.50 KB

页数:8页

时间:2018-09-20

全国青少年信息学奥林匹克联赛排序算法_第1页
全国青少年信息学奥林匹克联赛排序算法_第2页
全国青少年信息学奥林匹克联赛排序算法_第3页
全国青少年信息学奥林匹克联赛排序算法_第4页
全国青少年信息学奥林匹克联赛排序算法_第5页
资源描述:

《全国青少年信息学奥林匹克联赛排序算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、全国青少年信息学奥林匹克联赛排序算法一、插入排序(InsertionSort)1.基本思想:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。2.排序过程: 【示例】:[初始关键字][49]38659776132749J=2(38)[3849]659776132749J=3(65)[384965]9776132749J=4(97)[38496597]76132749J=5(76)[3849657697]132749J=6(13)[133849657697]2749J=7(27)[132

2、73849657697]49J=8(49)[1327384949657697]ProcedureInsertSort(VarR:FileType);//对R[1..N]按递增序进行插入排序,R[0]是监视哨//BeginforI:=2ToNDo//依次插入R[2],...,R[n]//beginR[0]:=R[I];J:=I-1;WhileR[0]

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

4、7]最后排序结果1327384949767697ProcedureSelectSort(VarR:FileType);//对R[1..N]进行直接选择排序//BeginforI:=1ToN-1Do//做N-1趟选择排序//beginK:=I;ForJ:=I+1ToNDo//在当前无序区R[I..N]中选最小的元素R[K]//beginIfR[J]IThen//交换R[I]和R[K]//beginTemp:=R[I];R[I]:=R[K];R[K]:=Temp;end;endEnd.//SelectSort//

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

6、949494949137697656565656527277697767676764949497697979797ProcedureBubbleSort(VarR:FileType)//从下往上扫描的起泡排序//BeginForI:=1ToN-1Do//做N-1趟排序//beginNoSwap:=True;//置未排序的标志//ForJ:=N-1DownTo1Do//从底部往上扫描//beginIfR[J+1]

7、nd;end;IfNoSwapThenReturn//本趟排序中未发生交换,则终止算法//endEnd.//BubbleSort//四、快速排序(QuickSort)1.基本思想:  在当前无序区R[1..H]中任取一个数据元素作为比较的"基准"(不妨记为X),用此基准将当前无序区划分为左右两个较小的无序区:R[1..I-1]和R[I+1..H],且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准X则位于最终排序的位置上,即R[1..I-1]≤X.Key≤R[I+1..H](1≤I≤H),当R[1..I-1

8、]和R[I+1..H]均非空时,分别对它们进行上述的划分过程,直至所有无序子区中的数据元素均已

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

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

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