其他高階演算法

2021-07-05 22:47:25 字數 743 閱讀 8760

1.普里姆演算法(

prim

演算法)圖論中的一種演算法,可在加權連通圖里搜尋最小生成樹。意即由此演算法搜尋到的邊子集所構成的樹中,不但包括了連通圖里的所有頂點(英語:vertex (graph theory)),且其所有邊的權值之和亦為最小。

2、克魯斯卡爾演算法

求加權連通圖

的最小生成樹的演算法

。kruskal演算法總共選擇n- 1條邊,(共n個點)所使用的貪婪準則是:從剩下的邊中選擇一條不會產生

環路的具有最小耗費的邊加入已選擇的邊的集合中。注意到所選取的邊若產生環路則不可能形成一棵生成樹。kruskal演算法分e 步,其中e 是網路中邊的數目。按耗費遞增的順序來考慮這e 條邊,每次考慮一條邊。當考慮某條邊時,若將其加入到已選邊的集合中會出現環路,則將其拋棄,否則,將它選入。

3、迪傑斯特拉演算法

迪傑斯特拉演算法是由荷蘭計算機科學家

狄克斯特拉

於1959 年提出的,因此又叫

狄克斯特拉演算法

。是從乙個頂點到其餘各頂點的

最短路徑

演算法,解決的是有向圖中最短路徑問題。迪傑斯特拉演算法主要特點是以起始點為中心向外層層擴充套件,直到擴充套件到終點為止。

用途:單元最短路徑問題

4、kmp演算法

kmp演算法是一種改進的

字串匹配

演算法,kmp演算法的關鍵是利用匹配失敗後的資訊,儘量減少模式串與主串的匹配次數以達到快速匹配的目的。具體實現就是實現乙個next()函式,函式本身包含了模式串的區域性匹配資訊

基本演算法 其他

七 進製轉換 1任意正整數進製間的互化 除n取餘 2實數任意正整數進製間的互化 乘n取整 3負數進製 設計乙個程式,讀入乙個十進位制數的基數和乙個負進製數的基數,並將此十進位制數 轉換為此負 進製下的數 r 八 全排列與組合的生成 1排列的生成 1.n procedure solve dep int...

其他常用演算法

base64 不是安全領域下的加解密演算法,只是乙個編碼演算法,通常用於把二進位制資料編碼為可寫的字元形式的資料,特別適合在 協議下的網路快速傳輸資料。utf 8 和gbk 中文的base64 編碼結果是不同的。採用 base64 編碼不僅比較簡短,同時也具有不可讀性,即所編碼的資料不會被人用肉眼所...

SpringBoot高階 快取的其他註解

用於重新整理資料和儲存資料時重新整理快取 一定要指定key的值和其他註解一致 cacheput 在重新整理資料,儲存或者更新時使用該註解來重新整理快取 注意 一定要指定key的值,否則它會在快取中預設建立新的key,就不會儲存你要指定重新整理的快取 cacheput value emp key em...