数据结构课程设计各种排序算法比较 附带源代码.doc
2022-05-30 14:06:42 1.47MB 文档资料 数据结构 排序算法 算法
数据结构课程设计各种排序算法比较附带源代码.doc
2022-05-30 14:06:42 118KB 文档资料 数据结构 排序算法 算法
数据结构课程设计实验报告_内部排序算法比较.doc
2022-05-30 14:06:41 2.1MB 数据结构 文档资料 排序算法 算法
数据结构课程设计_排序算法比较【完整版】.doc
2022-05-26 19:08:23 227KB 数据结构 排序算法 文档资料 算法
数据结构课程设计各种排序算法比较.doc
2022-05-26 19:08:22 123KB 数据结构 排序算法 文档资料 算法
通过java图形用户界面实现五中排序算法的直管时间比较,运用到了多线程,可同时进行,并可重复多次,个人认为比较完善,Version 3.0
2022-05-22 00:18:17 9KB java,sort
1
数据结构课程设计_排序算法比较【完整版】.doc
2022-05-12 09:09:33 164KB 数据结构 排序算法 文档资料 算法
数据结构课程设计各种排序算法比较.doc
2022-04-06 00:37:42 117KB 计算机
比较直接插入排序、希尔排序、直接选择排序、堆排序、起泡排序、快速排序、归并排序、基数排序。随机生成一组待排序数据,个数不少于100个;各种算法对同一数据排序所需要的关键字比较次数和关键字移动次数,至少使用5组数据进行比较。1)插入排序:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。 2)冒泡排序:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 3)选择排序:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 4)Shell排序:在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为 增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。 5)归并排序:设有两个有序(升序)序列存储在同一数组中相邻的位置上,不妨设为A[l..m],A[m+1..h],将它们归并为一个有序数列,并存储在A[l..h]。 6)快速排序:快速排序是对冒泡排序的一种本质改进。它的基本思想是通过一趟扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)的左边各数都比它小,右边各数都比它大。然后又用同样的方法处理它左右两边的数,直到基准点的左右只有一个元素为止。 7)堆排序:堆排序是一种树形选择排序,在排序过程中,将A[n]看成是完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小的元素。 8)基数排序:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。
2022-01-09 16:07:08 2.13MB 排序算法 比较 时间复杂度
1
上海交通大学数据结构课程作业,内部排序算法比较代码。 题目:在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。
2022-01-06 22:53:41 3KB 数据结构
1