算法效率测试(以排序算法为例)

慕课网学习了一段时间后,觉得可以了,借鉴讲师们说的和自己的经验,总结下如何测试一个程序代码的效率和开销问题。

 

以  排序算法为例,具体分析如下:

 

 

//main()函数,.cpp文件
// Created by Ant on 07/16/2017
//默认排成升序
//
#include <iostream>
#include <algorithm>
#include "SortTestHelper.h"
#include "STL_Sort.h"
#include "SelectionSort.h"
#include "InsertionSort.h"

using namespace std;

int
main() {
	const int SIZE = 10000, left = 1, right = 1000;
	cout << "SIZE = " << SIZE << endl<<endl;
	//生成任一随机数组
	int* arr = SortTestHelper::RandomArray<int>(SIZE, left, right);
	//完全拷贝原始数组元素
	int* arrCo1 = SortTestHelper::CopyArray<int>(arr, SIZE);
	int* arrCo2 = SortTestHelper::CopyArray<int>(arr, SIZE);

	SortTestHelper::PrintArray(arr, 50);	//输出原始数组,乱序
	SortTestHelper::SortingTime("STL_Sort", STL_Sort, arr, SIZE);
	SortTestHelper::PrintArray(arr, 100);	//输出已排好序数组,可用于检查排序结果
	cout << endl;
	
	SortTestHelper::PrintArray(arrCo1, 50);	//可用于确认数组拷贝是否成功
	cout << endl;
	SortTestHelper::SortingTime("DirectSelectionSort", DirectSelectionSort, arrCo1, SIZE);
	SortTestHelper::SortingTime("DirectInsertionSort", DirectInsertionSort, arrCo2, SIZE);
	cout << endl;


	//生成几乎有序数组
	int* test = SortT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值