algorithm

2/14ページ

動態規劃 (Dynamic Programming) 之 揹包問題合輯 (Knapsack, Subset Sum, Partition and change making problem )

揹包問題一直是動態規劃中的經典問題。這個問題又分成01揹包,完全揹包,多重揹包,分組揹包等等。。我在這裡只記錄下01揹包(0-1knapsack)和完全揹包(unbounded knapsack)。揹包問題的簡單描述就是有一個揹包和一堆物品。每個物品有自己的大小和價值。我們希望在一個特定容量的揹包中 […]

五大常用演算法 —-DP 動態規劃(Dynamic Programming)

動態規劃(Dynamic Programming) 一、基本概念     動態規劃過程是:每次決策依賴於當前狀態,又隨即引起狀態的轉移。一個決策序列就是在變化的狀態中產生出來的,所以,這種多階段最優化決策解決問題的過程就稱為動態規劃。 二、基本思想與策略     基本思想與分治法類似,也是將待求解的 […]

在CSDN部落格發表帶語法高亮C 程式碼的小技巧

雖然CSDN的Blog有“插入程式碼”的功能,但是不支援C 。CSDN的編輯器使用了開源的FCKEditor。雖然它支援從Word中貼上帶格式的文字,但是從其它地方則不行。比如直接從VS2005拷貝,就無法正確識別格式。但是從Word拷貝有一個問題 ,程式碼的行間距會變得特別大。經過研究之後,發現瞭 […]

實現一個佇列,使得push_rear(), pop_front() 和get_min()的時間複雜度為O(1)

問題描述: 實現一個佇列,使得它的push_rear(), pop_front() 和get_min() 這三個函式的時間複雜的為常數(即O(1))。 分析: 在leetcode上面有類似的題目,但是其所要求的是實現一個棧(stack)而不是佇列。 這裡將使用兩個棧來作為輔助資料結構。第一個棧專門用 […]

十大經典排序總結

 排序演算法經過了很長時間的演變,產生了很多種不同的方法。對於初學者來說,對它們進行整理便於理解記憶顯得很重要。每種演算法都有它特定的使用場合,很難通用。因此,我們很有必要對所有常見的排序演算法進行歸納。      我不喜歡死記硬背,我更偏向於弄清來龍去脈,理解性地記憶。比如下面這張圖,我們將圍繞這 […]

Douglas-Peucker演算法

  Douglas-Peucker演算法(該演算法名字夠嚇人,其實思想很簡單) 在數字化時,要對曲線進行取樣,即在曲線上取有限個點,將其變為折線,並且能夠在一定程度 上保持原有的形狀。 經典的Douglas-Peucker演算法步驟如下: (1)在曲線首尾兩點A,B之間連線一條直線AB,該直線為曲線 […]

貝葉斯定理與樸素貝葉斯分類器

   今天,咱也來任性地扒一扒貝葉斯分類器的那些事兒    樸素貝葉斯由於其簡單易用、易於理解的特點,已經廣泛應用於文字分類、醫療診斷的應用場景。下面就簡單總結一下樸素貝葉斯分類器中的相關知識點: 一、貝葉斯定理:     樸素貝葉斯分類器是一種統計學的分類方法,其基於樸素貝葉斯定理,給定一個樣本觀 […]

基於微軟案例資料探勘之結果預算 下期彩票預測篇

本篇我們將根據上一篇的預測過程詳細的給出預測結果值,形成一份可供具體參考的資料明細表。 應用場景介紹 作為Microsoft時序演算法的應用場景,在上一篇我們已經詳細介紹了,本篇就不再贅述,總結一下就是凡事要應用時間匯流排為依據,根據以往歷史事例記錄推測以後將要發生的結果值,此種場景我們都會應用到時 […]

已知三角形三頂點座標,求三角形面積的表示式 找出求果園裡的樹的解決方案

已知直角座標系3點p(a,b),m(c,d),n(e,f) 求三角形pmn面積 解: 無論三角形的頂點位置如何,△PMN總可以用一個直角梯形(或矩形)和兩個直角三角形面積的和差來表示 而在直角座標系中,已知直角梯形和直角三角形的頂點的座標,其面積是比較好求的。 下面以一種情形來說明這個方法,其它情形 […]