C語言基本算法策略

所謂算法,就是為解決某一特定問題而採取的具體工作步驟和方法。當編寫一個程式的時候,總是要先想好這個程式是乾什麼的,應該如何實現這個目標,程式應該先完成什麼功能,接下來進行什麼操作,處理這個程式的格式是什麼,等等一系列的問題,在有些情況下,還需要涉及其他領域,如數學,物理,因此在考慮以上所有因素的時候,都應該考慮一個關鍵的問題——算法。基本算法策略包括:枚舉法、歸納法、遞歸法以及排序的各類方法。

1、枚舉法
常被稱之為窮舉法,是指從可能的集合中一一枚舉各個元素,用題目給定的約束條件判定哪些是無用的,哪些是有用的。能使命題成立者,即為問題的解。
採用枚舉算法解題的基本思路:
a、確定枚舉對象、枚舉範圍和判定條件;
b、一一枚舉可能的解,驗證是否是問題的解
2、歸納法
這是一個相對比較“聰明”的方法,看到問題之後,可以通過分析歸納,找出從變數舊值出發求出新值的規律。
可以用歸納法解決的問題,它們的相鄰數之間有著明顯的規律性的變化,通常可以從初始條件進行一定的歸納求出下一個值,並利用這種規律性一步一步遞推到結果。如循環累乘、循環累加等。
3、遞歸法
一般使用在函式的調用上,所謂函式的“遞歸調用”是指一個函式直接調用自己(即直接遞歸調用)或通過其他函式間接地調用自己(即間接遞歸調用)。
4、排序的各類方法
a、冒泡排序
就是將被排序的記錄數組arr[0]…arr[n]進行排列,每個記錄arr[i]看作是“氣泡”。根據輕氣泡不能在重氣泡之下的原則,從下到上掃描數組arr,凡掃描到違反本原則的輕氣泡,就使其向上“漂浮”。如此反覆進行,直到最後任何兩個氣泡輕者在上,重者在下為止。
b、選擇排序
這是一種很簡單的排序方法,它的基本解題思路:選擇法排序(設對N個數進行排序)是每次從待排序數據中選擇最小的數,與相應位置上的數交換。

相關詞條

熱門詞條

聯絡我們