演算法導論 2 1節程式設計練習C 實現

2021-07-23 02:49:43 字數 1409 閱讀 8750

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 (int i = 0; i < b.size(); i++)

cout << endl;

cin.get();

return 0;

}

程式設計練習的c++實現:

2.1-2 插入排序按照非公升序排序,這個實現很簡單,只需要將上面1中的**keya[i]即可。

#include #include #include using namespace std;

vectorinsertion(vector& a)

a[i + 1] = key;

} return a;

}int main();

vectorb = insertion(a);

for (int i = 0; i < b.size(); i++)

cout << endl;

cin.get();

return 0;

}

2.1-3 順序查詢的簡單實現(如果要查詢的數不在陣列中,返回-1)

#include #include #include using namespace std;

int search(vector& a,int v)

int main();

cout << search(a, 7) << endl;

cin.get();

return 0;

}

2.1-4 實現二進位制加法,輸入為兩歌表示二進位制數的陣列,輸出為乙個表示二進位制數的陣列。

#include #include #include using namespace std;

vectorplusab(vector& a, vector& b)

else

tem = 0;

} c[0] = tem;

return c;

}int main();

vectorb = ;

vectorc(a.size()+1);

c = plusab(a, b);

for (int i = 0; i < c.size(); i++)

cout << endl;

cin.get();

return 0;

}

演算法導論 2 2節程式設計練習C 實現

2.2節重點描述評估演算法效能的工具 時間複雜度。練習 2.2 3 選擇排序演算法的實現。由於選擇排序在最好情況的輸入下也要將陣列中的值全部都比較一遍,所以其在最好情況和最壞情況下的時間複雜度均為n 2。include include include using namespace std vect...

演算法導論 練習2 1

2.1 1 2.1 2 python 重寫insertion sort python 下列表從0 開始 def insertion sort a for j in range 1,len a key a j i j 1 while i 0 and a i 迴圈不變式的證明 初始化 起始時未對陣列a中...

《演算法導論》2 1練習答案

2.1 1應該不用寫了 2.1 2重寫過程inertion sort,使之按公升序排序 偽 實現 inertion sort a for j 2 to a.length key a j insert a j to the sorted sequence a 1.j 1 i j 1 while i 0...