演算法程式設計方法總結

2021-09-11 12:08:36 字數 909 閱讀 9888

1、通常用陣列表示,且通常從後往前思考,程式設計從前往後迭代實現,如兩個字串的匹配

2、寫出邊界函式,遞迴規律

1、回溯法 (套用backtrack)

2、前序、後續。。

3、利用遞迴左右子樹與或,如下,先判斷當前節點node(通常以葉子節點向上考慮),在與或左右子樹。

bool haspathsum

(treenode *root,

int sum)

4、建立樹結構時,每乙個左右孩子,都同樣是root根節點,

treenode *fun(

)

n個亂序中尋找第k大的值: 利用快速排序

給定有順序的列表,第一反應應考慮 二分查詢

1、乙個數是2的指數次(1,2,4,8…),它的二進位制只有1個1,利用n&(n-1) ==0 判斷是否該數是否符合條件。

2、判斷兩個字串是否有相同字元時,可以利用二進位制方法: 』

string s=

"abcd"

;string s2=

"efdg"

;int vs =0;

for(

int j=

0;jsize()

;j++

)int vs2=..

.;vs&vs2==

0? 沒有乙個字元相同

3、桶原理

4、判斷乙個整數是否是回文,樸素方法是:化成字串檢測。

5、m[x][y] 為乙個set時,可以設定unordered_map> m;

bool operator<

(int a,

int b)

程式設計題方法總結

鍊錶 遍歷 bfs 和 dfs 本質上都是遍歷,所以只要是需要遍歷的演算法,理論上都可以使用 dfs 或者 bfs。它們各自的特點和適用場景如下 1 bfs 由於是水波紋式的擴散,它可以用於一些求解最短路徑以及最優化問題,或者是可以用貪心演算法解決的問題上,例如第 126 題 第 127 題 單詞接...

從程式設計方法到思維訓練總結

本文通過幾個例子來講述程式設計方法,通過程式設計方法達到思維訓練的目的。主要的核心設計方法是偽 法和分解法 偽 法 用來描述程式的思路,也可以用來注釋 分解法 逐步細化,分解步驟 下面我們通過幾個例子來學習偽 法和分解法 sd 以下 用python語言來編寫 概念 示例索引 分解法 分解的思想可以通...

程式設計總結

步入大學已經兩個多月了,兩個月讓我從對計算機一無所知變成了乙個稍微會一點點的菜鳥,那這兩個月我到底學到了什麼呢?一丶順序結構 課本上第一節講的就是順序結構,那按照教材的規律來看,這應該也是最簡單的一節,事實也確實如此,順序結構就是直接一串下來,標頭檔案 include包含了基本的輸入 scanf 與...