电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实验报告(内部排序算法比较)

数据结构实验报告(内部排序算法比较)_第1页
1/18
数据结构实验报告(内部排序算法比较)_第2页
2/18
数据结构实验报告(内部排序算法比较)_第3页
3/18
《数据结构与算法》实验报告一、需求分析问题描述:在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。基本要求:(l)对以下 6 种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。 (2)待排序表的表长不小于 100000;其中的数据要用伪随机数程序产生;至少要用 5 组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为 3 次移动)。 (3)最后要对结果作简单分析,包括对各组数据得出结果波动大小的解释。数据测试: 二.概要设计1. 程序所需的抽象数据类型的定义: typedef int BOOL; //说明 BOOL 是 int 的别名 typedef struct StudentData { int num; //存放关键字 } Data; typedef struct LinkList { int Length; //数组长度 Data Record[MAXSIZE]; //用数组存放所有的随机数 } LinkList int RandArray[MAXSIZE]; //定义长度为 MAXSIZE 的随机数组 void RandomNum() //随机生成函数 void InitLinkList(LinkList* L) //初始化链表 BOOL LT(int i, int j,int* CmpNum) //比较 i 和 j 的大小 void Display(LinkList* L) //显示输出函数 void ShellSort(LinkList* L, int dlta[], int t,int* CmpNum, int* ChgNum) //希尔排序 void QuickSort (LinkList* L, int* CmpNum, int* ChgNum) //快速排序 void HeapSort (LinkList* L, int* CmpNum, int* ChgNum) // 堆排序 void BubbleSort(LinkList* L, int* CmpNum, int* ChgNum) // 冒泡排序 void SelSort(LinkList* L, int* CmpNum, int* ChgNum) //选择排序 void Compare(LinkList* L,int* CmpNum, int* ChgNum) // 比较所有排序 2 .各程序模块之间的层次(调用)关系:二、详细设计typedef int BOOL; //定义标识符关键字 BOOL 别名为int typedef struct StudentData //记录数据类型 { int num; //定义关键字类型 }Data; //排序的记录数据类型定义 typedef struct LinkList //记录线性表{ int Length; //定义表长 Data Record[MAXSIZE]; //表长记录最大值 }LinkList; //排序的记录线性表类型定义 int RandArray[M...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实验报告(内部排序算法比较)

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部