- 5
- 0
- 约8.23千字
- 约 12页
- 2021-03-25 发布于山东
- 举报
数据结构课程设计
题 目 利用随机函数产生 30000 个随机整数,利用插入排序、
希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序
等排序方法进行排序, 统计每一种排序上机所花费的时间, 并和
理论上时间进行对比分析。
学生姓名
学 号
学 院
专 业
指导教师
年 月 日
一、 设计题目
利用随机函数产生 30000 个随机整数,利用插入排序、起泡排序、快速排序、选择排序、堆排序、归并排序等排序方法进行排序,统计每一种排序上机所花费的时间,并和理论上时间进行对比分析。
二、 算法设计的思想
1. 排序
操作方法:第一趟,从 n 个 中找出关 最小的 与第一个 交 ; 第
二趟,从第二个 开始的 n-1 个 中再 出关 最小的 与第二个
交 ;如此,第 i 趟, 从第 i 个 开始的 n-i+1 个 中 出关 最小的 与第 i 个 交 ,直到整个序列按关 有序。
【效率分析】
空 效率: 用了一个 助 元。
效率: 排序中, 所需 行 移 的操作次数 小, 其最小 0,最大 3(n-1)。然而,无 的初始排列如何,所需 行的关 字之 的
比 次数相同,均 n(n-1)/2。因此, 的 复 度也是 O(n2)。
2.直接插入排序
有 n 个 ,存放在数 r 中,重新安排 在数 中的存放 序,使得按关 有序。即 r[1].key ≤r[2].key ≤??≤ r[n].key
先来看看向有序表中插入一个 的方法:
1 j≤n, r[1].key ≤r[2].key ≤??≤ r[j-1].key ,将 r[j] 插入,重新安排存放 序,使得 r[1].key ≤ r[2].key ≤??≤ r[j].key ,得到新的有序表, 数增1。【效率分析】
空 效率: 用了一个 助 元。
效率:向有序表中逐个插入 的操作, 行了 n-1 趟,每趟操作分 比 关 和移 , 而比 的次数和移 的次数取决于待排序列按关 的初始排列。
最好情况下:即待排序列已按关 有序,每趟操作只需 1 次比 2 次移 。 比 次数 =n-1 次
移 次数 =2(n-1)次
最坏情况下:即第 j 趟操作,插入 需要同前面的
j 个 行 j 次关 比
,移 的次数 j+2 次。
平均情况下:即第 j 趟操作,插入 大 同前面的
j/2 个 行关 比 ,
移 的次数 j/2+2 次。
由此,直接插入排序的 复 度 O(n2)。是一个 定的排序方法
3.希 排序 (Shell’s Sort)
直接插入排序算法 ,在 n 小 ,效率比 高,在 n 很大 ,若序列按
关 基本有序,效率依然 高,其 效率可提高到 O(n)。希 排序即是从 两点出 , 出插入排序的改 方法。
希 排序方法:
一个步 序列 t1,t2,?, tk,其中 titj , tk=1;
按步 序列个数 k, 序列 行 k 趟排序;
每趟排序,根据 的步 ti ,将待排序列分割成若干 度 m 的子序列,分 各子表 行直接插入排序。 步 因子 1 ,整个序列作 一个表来 理,表 度即 整个序列的 度。
希 排序 效分析很 , 关 的比 次数与 移 次数依 于步 因子序列
的 取,特定情况下可以准确估算出关 的比 次数和 的移 次数。 目前 没有人 出 取最好的步 因子序列的方法。步 因子序列可以有各种取法,
有取奇数的,也有取质数的,但需要注意:步长因子中除 1 外没有公因子,且最后一个步长因子必须为 1。希尔排序方法是一个不稳定的排序方法。
4.冒泡排序
冒泡排序方法:对 n 个记录的表,第一趟冒泡得到一个关键码最大的记录 r[n] ,
第二趟冒泡对 n-1 个记录的表, 再得到一个关键码最大的记录 r[n-1] ,如此重复,
直到 n 个记录按关键码有序的表。
【效率分析】
空间效率:仅用了一个辅助单元。
时间效率:总共要进行 n-1 趟冒泡,对 j 个记录的表进行一趟冒泡需要 j-1 次关键码比较。
移动次数:
最好情况下:待排序列已有序,不需移动。
5.快速排序
快速排序是通过比较关键码、交换记录,以某个记录为界 (该记录称为支点 ),将待排序列分成两部分。 其中,一部分所有记录的关键码大于等于支点记录的关键码,另一部分所有记录的关键码小于支点记录的关键码。 我们将待排序列按关键码以支点记录分成两部分的过程, 称为一次划分。 对各部分不断划分, 直到整个序列按关键码有序。
【效率分析】
空间效率:快速排序是递归的,每层递归调用时的指针和参数均要用栈来存放,递归调用层次数与上述二叉树的深度一致
您可能关注的文档
最近下载
- 2025年演出经纪行业对演出场地、设备安全标准的自律遵守专题试卷及解析.pdf VIP
- 图神经网络训练阶段中多尺度拓扑信息联合建模与反向传播机制.pdf VIP
- 2025年金融风险管理师名义收益率曲线与实际收益率曲线专题试卷及解析.pdf VIP
- 2025年金融风险管理师汇率标价与折算风险识别专题试卷及解析.pdf VIP
- 2025年特许金融分析师衍生品在投资组合中的风险与收益特性专题试卷及解析.pdf VIP
- 2025年项目管理专业模拟与建模技术在定量风险分析中的应用专题试卷及解析.pdf VIP
- 2025年环境影响评价师“土十条”相关政策与措施专题试卷及解析.pdf VIP
- 2025年项目管理专业甘特图在问题日志与行动项跟踪中的应用专题试卷及解析.pdf VIP
- 2025年金融风险管理师流动性风险计量中的GARCH模型专题试卷及解析.pdf VIP
- 22J403-1 楼梯、栏杆、栏板(一).docx VIP
原创力文档

文档评论(0)