演算法學習筆記

2022-08-10 05:45:10 字數 1695 閱讀 9939

1.

比較容易理解的「氣泡排序」的寫法:

c語言版:

js版:

2.快速排序:

js版:

3.使用「尾插法」和「頭插法」建立鍊錶: 

4.使用頭插法或者尾插法對單鏈表進行歸併:

5.利用棧匹配括號的演算法:

6.kmp演算法:

7.二叉樹的遍歷演算法:

8. 二叉排序樹bst

- 查詢關鍵字的演算法:

- 插入關鍵字的演算法

- 二叉排序樹的構造演算法

9. 陣列迴圈左移或右移

1

function

reverse(arr, left, right) 8}

910//陣列迴圈左移m位

11function

f1 (arr, m)

1718

//陣列迴圈右移m位

19function

f2 (arr, m)

10. 

1

//斐波那契數列函式

2function

fibonacci(n)78

function

fibonacci(n)

19return

b;20 }

11.

1

//題目描述23

//移除陣列 arr 中的所有值與 item 相等的元素,直接在給定的 arr 陣列上進行操作,並將結果返回 4//

輸入例子:5//

removewithoutcopy([1, 2, 2, 3, 4, 2, 2], 2)67

//輸出例子:8//

[1, 3, 4]910

function

removewithoutcopy(arr, item) 16}

17return

arr;

18 }

演算法 學習筆記

1.輸入輸出演算法至少有乙個或多個輸出 2.有窮性 3.確定性 4.可行性 1.正確性a.演算法程式沒有語法錯誤 b.演算法程式對於合法的輸入資料能夠產生滿足要求的輸出結果 c.演算法程式對於非法的輸入資料能夠得出滿足規格說明的結果 d.演算法對於精心選擇的,甚至刁難的測試資料都有滿足要求的輸出結果...

演算法學習筆記

複雜度分析 1.只關注迴圈次數最多的一行 2.總複雜度等於量級最大 的複雜度 3.巢狀 的複雜度等於巢狀 內外複雜度的乘積 單鏈表結構和順序儲存結構的優缺點 儲存分配方式 時間效能 空間效能 單鏈表結構 用一組任意的儲存單元存放線性表元素 查詢 o n 插入和刪除 找到某位置的指標後,插入和刪除的時...

演算法學習筆記

影象分割是機器視覺後續處理的基礎,通過分割提取影象中的目標區域,方便後續進一步分析處理。分水嶺分割演算法 傳統的分水嶺演算法,是基於數學形態學的分割方法。其基本思想是,將2d影象視為3d地形 其中,畫素的座標 地形的位置,畫素的灰度 地形的高度 每乙個區域性極小值及其周圍區域稱為集水盆地,而集水盆地...