2.2节重点描述评估算法性能的工具—时间复杂度。
练习:
2.2-3 选择排序算法的实现。由于选择排序在最好情况的输入下也要将数组中的值全部都比较一遍,所以其在最好情况和最坏情况下的时间复杂度均为n^2。
#include <windows.h>
#include <iostream>
#include <vector>
using namespace std;
vector<int> select(vector<int>& A){
int len = A.size();
for (int i = 0; i < len-1; i++){
int j = i;
int tem = A[i];
int index = i;
for (; j < len; j++){
if (A[j] < tem){
tem = A[j];
index = j;
}
}
A[index] = A[i];
A[i] = tem;
}
return A;
}
int main(){
vector<int> A = { 6, 4, 3, 5, 2 };
vector<int> B = select(A);
for (int i = 0; i < B.size(); i++)
cout << B[i];
cout << endl;
cin.get();
return 0;
}