Algorithm

演算法是什麼

在數學和電腦科學/算學之中,算法/演算法/算則(Algorithm)為一個計算的具體步驟,常用於計算、資料處理 和自動推理。

複雜度

  • 演算法所需要的步驟數
  • O(n)

Sort

O(n^2) 的方法

  • Bubble sort
  • Insert sort

Merge sort

  1. 先把要排的東西分成左、右兩部分
  2. 分別排好左邊和右邊
  3. 開始合併

複雜度為 O(nlogn)

Quick sort

  1. 先選一個數字當標準
  2. 把比它小的放左邊,比它大的放右邊
  3. 對剛剛選的數字的左邊和和右邊做一樣的事情

複雜度為 O(nlogn)

#include <algorithm>

sort(arr, arr+n)

sort(arr, arr+n, cmp)

Exercises

  • TIOJ 1287
  • UVa 10107
  • UVa 10474
  • UVa 10062
  • TIOJ 1585

Sort

By hfy880916

Sort

  • 236