為了解決現實生活當中的各種問題,電腦科學家就把現實問題對應到數學問題,然後設計公式、把公式寫成程式,讓電腦執行程式計算答案 ── 這些公式就叫做演算法了。
d = a + b + c * c; // 1 step
a = 2; // 1 step
std::cin >> n; // 1 step
for (int i = 0; i < n; ++i) { // n + 1 step
s += arr[i]; // n step
}
// total steps: 2n + 4
假設現在給你一個已經由小到大排好的陣列
假設現在給你一個已經由小到大排好的陣列
arr
排序過的數列int binary_search(int arr[], int size, int goal) {
int left = 0, right = size - 1, mid;
while (left <= right) {
mid = left + (right - left)/2;
if (arr[mid] == goal)
return mid;
else if (arr[mid] > goal)
right = mid - 1;
else if (arr[mid] < goal)
left = mid + 1;
}
return -1; // 找不到
}