本分摘錄翻譯自wikipedia Viterbi algorithm。
維特比算法(Viterbi algorithm)是一種動態規劃算法,它用於尋找最可能產生觀測到的事件的序列,這個序列是隱...
問題:給定字符串,求其最長回文子串的長度。回文串是形如"aba", "abba"的對稱字符串。例如:字符串“xabcbam”的最長回文字符串長度為5。
這個問題可以用動...
本文簡單介紹一種最基本的矩陣乘法的實現方法。
設有矩陣A(M×N)和矩陣B(N×K),令C=A*B, 那麽矩陣C(M×K)的元素為:
其中Cik是C的第i行第k列的元素;Aij是...
文檔的分值代表了該文檔在特定查詢詞下對應的相關性高低,他關聯著信息檢索向量空間模型中的向量夾角的接近度。一個文檔越與查詢詞相關,得分越高。分值計算...
一般的二叉搜索樹(BST)在插入和刪除數據的時候,直接在一定的位置添加和刪除節點,沒有應用使樹
平衡的調整策略,樹的高度不能得到有效控製,在極端的數據下...
本文首先簡要闡述哈夫曼算法的基本思想,然後介紹了使用哈夫曼算法進行文件壓縮和解壓縮的
處理步驟,最後給出了C語言實現的文件壓縮和解壓縮的源代碼。
哈...
KMP算法是一種線性時間複雜的字符串匹配算法,它是對BF算法(Brute-Force,最基本的字符串匹配算法的)改進。
對於給的的原始串S和模式串P,需要從字符串S...
單鏈表的快速排序和數組的快速排序在基本細想上是一致的,以從小到大來排序單鏈表為例,
都是選擇一個支點,然後把小於支點的元素放到左邊,把大於支點的...
求數組中第K大的數可以基於快排序思想,步驟如下:
1.隨機選擇一個支點
2.將比支點大的數,放到數組左邊;將比支點小的數放到數組右邊;將支點放到中間...
摘要:本文簡要介紹了當數據量大到不適合在內存中排序時,利用磁盤進行排序的多路歸並算法。
關鍵字:外排序,磁盤排序,多路歸並
下麵以一個包含很多...
摘要:本文簡要介紹了采用貪心策略的最小生成的生成算法——Prim算法。文中首先給出了一個易於理解
的O(N^3)的實現,然後給出了優化後的O(N^2)實現,也就是...
摘要:本文簡要介紹了top-k(求一個序列中前K個最大或最小的元素)算法的二分實現方法,並給出了C++源
代碼
關鍵字:top-k,二分,快排序
網上介紹to...
問題描述:給定兩個正整數A,B(A和B可能超出計算機中國INT32,INT64的範圍,高達幾百甚至上千位),
求A和B相乘的積。
解決方案:
用計算機模擬手算的...
摘要:本文簡要介紹了拓撲排序算法的原理,並給出了基於鄰接矩陣實現的拓撲排序c++源碼
關鍵字:拓撲排序,topological sort,AOV網絡
最近在論壇上看...
題目比較簡單,但是這裏采用的一次遍曆方法還是比較通用的。
設:
arr: 數組, size=N
i:記錄上一次放置偶數的下一個位置, 初始i=0
j : 當前遍曆...