一、需求分析 1、本演示程序对以下6种常用的内部排序算法进行实测比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。 2、待排序表的表的元素的关键字为整数,表长不小于100;其中的数据要用伪随机数产生程序产生(乱序)和由键盘输入(正序、逆序);至少要用5组不同的输入数据作比较;比较的指标为有关关键字参加的比较次数和关键字的移动次数(关键字交换记为3次移动)。 3、演示程序以用户和计算机对话的方式执行,即在计算机终端上显示“提示信息”下,用户可由键盘操作,由伪随机数产生器产生或由用户键盘输入待排序数据,每次测试完毕,列表显示各种比较指标值。 4、最后对结果做出简单分析,包括对各组数据得出结果波动大小给予解释。
2021-05-12 13:17:14 348KB 内部排序算法比较
1
题目一: 内排序算法比较 1) 对以下6种常用的内部排序算法进行比较:起泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序。 2) 待排序记录的文件个数不小于1000( 其数据用伪随机数产生),至少用5组不同的输入数据作比较;比较的指标为关键字的比较次数和关键字的移动次数(一次关键字交换计为3次移动)。 3) 统计在完全正序、完全逆序及无序情况下的关键字比较次数和移动次数。 4) 对结果作简单分析,包括对各组数据得出结果波动大小的解释。
2021-05-11 09:43:43 7KB 排序 分析 复杂度 比较次数
1
根号n段归并排序算法的C++代码实现: 1.合并【根号n向下取整】段子数组,使用了自底向上的两两合并策略。 2.算法的总体时间复杂度为nlogn 3.带有详细注释
1
根号n段归并排序算法时间复杂度分析过程: 1.合并 根号n向下取整 段子数组使用的是自底向上两两归并的策略 2.根号n段归并排序算法时间复杂度的数学推导
1
C++排序算法之冒泡排序
2021-05-08 16:02:44 840B 算法
1
C++排序算法之快速排序
2021-05-08 16:02:44 1KB 算法
1
C++排序算法之插入排序
2021-05-08 16:02:43 570B 算法
1
排序算法中的归并排序(Merge Sort)是利用”归并”技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。 一、实现原理: 1、算法基本思路 设两个有序的子文件(相当于输入堆)放在同一向量中相邻的位置上:R[low..m],R[m+1..high],先将它们合并到一个局部的暂存向量R1(相当于输出堆)中,待合并完成后将R1复制回R[low..high]中。 (1)合并过程 合并过程中,设置i,j和p三个指针,其初值分别指向这三个记录区的起始位置。合并时依次比较R[i]和R[j]的关键字,取关键字较小的记录复制到R1[p]中,然后将被复制记录的指针i或j加1,以及指向复制位置
2021-05-07 12:06:01 83KB c语言 int函数 合并排序
1
针对空中交通迅速发展使得终端区空域越来越拥挤的问题,研究了在终端区空中交通繁忙的情况下,如何安排机场起降航班的最佳队列,以缓解拥挤和减少航班延误及相关的经济损失。
2021-05-06 20:12:15 163KB 航班排序算法
1
中科大算法导论实验包括代码、报告和可执行文件。 1.(必做题) 常见排序算法的实现与性能比较 2. (必做题) 红黑树、二叉搜索树的实现和性能比较 3.(选做题) 最长递增子序列
1