实验一 算法的时间复杂度 一、 实验目的与要求 熟悉 C/C++语言的集成开发环境; 通过本实验加深对算法分析基础知识的理解
软件环境: 操作系统:w indow s7 旗舰版 集成开发环境 :visual studio 2010 旗舰版 硬件环境: 处理器:因特尔 Core i3 M 380 内存: 2GB 二、 实验内容: 掌握算法分析的基本方法,并结合具体的问题深入认识算法的时间复杂度分析
三、 实验题 定义一个足够大的整型数组,并分别用起泡排序、简单选择排序、快速排序和归并排序对数组中的数据进行排序(按从小到大的顺序排序),记录每种算法的实际耗时,并结合数据结构中的知识对算法的时间复杂度分析进行说明
实验数据分两种情况: 1、数组中的数据随机生成; 2、数组中的数据已经是非递减有序
四、 实验步骤 理解算法思想和问题要求; 编程实现题目要求; 上机输入和调试自己所编的程序; 验证分析实验结果; 整理出实验报告
五、 实验程序 #include #include #include #include //导入时间库函数文件 using namespace std; void BubbleSort(int arr[],int n); void QuickSort(int arr[],int left,int right); void SelectSort(int arr[],int n); void UnionSort(int arr[],int left,int right); int Partition(int arr[],int left,int right); void Union(int arr[],int left,int mid,int right); const int ARRAY_MAXSIZE=10000; //定义数组最大长度 int mai