MySQL之senior(十一)——索引
阿新 • • 發佈:2021-10-22
演算法
選擇
演算法是由若干條指令組成的有窮序列,且要滿足以下四條性質:
- 輸入
- 輸出
- 確定性
- 有限性
程式與演算法不同,可以不滿足演算法性質的有限性.
填空 堆排序時間複雜度
選擇
- 可操作性最好且最有實際價值的是最壞情況下的時間複雜性
- 根據符號 O 的定義,用它評估演算法的複雜性,得到的只是當規模充分大時的一個上界.上界的階越低,則評估越精確,結果就越有價值.
- 用Ω評估演算法的複雜性得到的只是該複雜性的一個一個下界.這個下界的階越高,則評估越精確,結果就越有價值.
填空
- 回溯法:深度優先
- 分支限界法:廣度優先
選
哪一個不能用貪心演算法解決.
分析 最長公共子序列問題
void LCSLength(int m, int n, char *x, char *y, int **c, int **b) { int i, j; for (i = 1; i < m; i++) { c[i][0] = 0; //置第0列為0值 } for (i = 1; i < n; i++) { c[0][i] = 0; //置第0行為0值 } for (i = 1; i < m; i++) { for (j = 1; j < n; j++) { if (x[i] == y[j]) { c[i][j] = c[i - 1][j - 1] + 1; //當x[i]=y[j],陣列c[i][j]為左上角+1; b[i][j] = 1; // 當x[i]=y[j]時,陣列b的b[i][j]置1 } else if (c[i - 1][j] >= c[i][j - 1]) { c[i][j] = c[i - 1][j]; b[i][j] = 2; } else { c[i][j] = c[i][j - 1]; b[i][j] = 3; } } } }