2.2節重點描述評估演算法效能的工具—時間複雜度。
練習:2.2-3 選擇排序演算法的實現。由於選擇排序在最好情況的輸入下也要將陣列中的值全部都比較一遍,所以其在最好情況和最壞情況下的時間複雜度均為n^2。
#include #include #include using namespace std;
vectorselect(vector& a)
} a[index] = a[i];
a[i] = tem;
} return a;
}int main();
vectorb = select(a);
for (int i = 0; i < b.size(); i++)
cout << b[i];
cout << endl;
cin.get();
return 0;
}
演算法導論 2 1節程式設計練習C 實現
1.insertion sort a 插入排序 非降序排序 include include include using namespace std vectorinsertion vector a a i 1 key return a int main vectorb insertion a for...
演算法導論 練習2 2
2.2 1 只看最高次項,並忽略係數,時間複雜度為 n 3 2.2 2 def swap a,b return b,a defselect sort a n len a for i in range n 1 minindex i for j in range i 1 n if a j mininde...
《演算法導論》2 2練習答案
捨棄它的低階項,並忽略前面的常數因子 n3 2.2 2考慮排序儲存在陣列a中的n個數 首先找出a中的最小元素並將其與a 1 中的元素進行交換。接著,找出a中的次最小元素並將其與a 2 中的元素進行交換。對a中前n 1個元素按該方式繼續。該演算法稱為選擇演算法,寫出其偽 該演算法維持的迴圈不變式是什麼...