数据结构课程设计

数据结构课程设计
数据结构课程设计

课程设计说明书

课程名称:数据结构和算法

设计题目:多种排序

院系:计算机科学与信息工程学院

学生姓名:

学号:

专业班级:计科嵌入式(12-1)

指导教师:

年月日

课程设计任务书

多种排序

摘要:

排序是算法中最基础的问题之一,经典的排序算法是前人不断总结得到的,基于比较的方法是比较直观的方式,主要存在插入法排序、堆排序、希尔排序、归并排序、快速排序,每一种排序算法都有自己的优缺点,比如插入法排序适用于那些长度短的排序,要是长的话,有些爱莫能助啦,堆排序主要是依据了二叉堆的特性,但是创建堆的过程也是一个复杂的问题,希尔排序的过程是一个不断精确的过程,但是目前也只是一个经验方式。归并排序是一个递归的问题,采用分治的思想实现,但是这种算法需要额外的存储空间,快速排序虽然是实践中比较常用的算法,但是对于有序的数组采用快速排序就是灾难。比较型算法的时间复杂度最优也只能到达O(NlogN)。

关键词:

归并排序快排排序选择排序冒泡排序

插入排序堆排序希尔排序内部排序

目录

1. 设计背景 (4)

1.1问题描述 (4)

1.2 问题分析 (4)

2.设计方案 (4)

2.1 算法设计 (4)

2.2 功能模块分析 (6)

3.主要算法流程图 (15)

4. 结果与结论 (16)

4.1正确结果 (16)

4.2错误信息 (18)

5. 算法复杂度以及稳定性分析 (18)

6. 收获与致谢 (19)

7. 参考文献 (19)

8. 附件 (20)

1. 设计背景

1.1问题描述

利用随机函数产生N个随机整数(10000以上),对这些数进行多种方法进行排序。包括:插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序。

1.2 问题分析

经典的排序算法是前人不断总结得到的,基于比较的方法是比较直观的方式,主要存在插入法排序、堆排序、希尔排序、归并排序、快速排序,每一种排序算法都有自己的优缺点。

2.设计方案

2.1 算法设计

(1)选择排序

在待排序的一组数据元素中,选出最小的一个数据元素与第一个位置的数据元素交换;然后在剩下的数据元素当中再找最小的与第二个位置的数据元素交换,循环到只剩下最后一个数据元素为止。

(2)冒泡排序

相邻的两个元素进行比较,将小的调到前面,大的调到后面。

(3)插入排序

待排序的记录放在数组R[0…n-1]中排序过程中某一时刻,R被划分成两个子区间

相关主题
相关文档
最新文档