比较起泡排序与快速排序的时间复杂度
一、 实验目的与要求
熟悉 C/C++语言的集成开发环境;
通过本实验加深对算法分析基础知识的理解。
二、 实验内容:
掌握算法分析的基本方法,并结合具体的问题深入认识算法的时间复杂度分析。
三、 实验题
以 n 为参数,对 n 个随机数分别用起泡排序、快速排序进行排序,记录每种算法的实际
耗时,并结合数据结构中的知识对算法的时间复杂度分析进行说明。要求实验数据:
1、数组中的数据随机生成;
2、至少要有 10 组数据,n 分别从 10 到 10000,范围尽量放大,能充分反映算法特点;
3、程序运行界面(包含自己学号与姓名),耗时比较数据,耗时比较曲线。
四、 实验代码
1.起泡排序:
void BubbleSort(int r[], int n)
{
int temp;
int exchange;
int bound;
exchange=n-1; //第一趟起泡排序的范围是 r[0]到
r[n-1]
while (exchange) //仅当上一趟排序有记录交换才进行
本趟排序
{
bound=exchange;
exchange=0;
for (int j=0; j<bound; j++) //一趟起泡排序
if (r[j]>r[j+1])
{
temp=r[j];