Computer programming is an art, because it applies accumulated knowledge to the...
演算法的效率 在解題時給定輸入規模時常大的許多,一些 2 倍 3 倍 甚至 10 倍的優化其實不在演算法競賽時考慮的要點。我們所設計的演算法必須根據輸入規模而定...
各位抱歉,由於最近筆者時間分配不佳,導致文章來不及在鐵人賽第三天達成不過如果我有空閒,一樣會繼續寫作 資料結構 簡單說,它是一種對資料的有系統的整理,通常一個資...
搜尋 暴力的把每種可能性都列出來,然後把所想要的東西留下,就是搜尋的原點。 不彷將搜尋所能觸及到的可能性稱為狀態每當狀態改變後,前個狀態到下個狀態的過程稱狀態轉...
BFS 廣度優先搜尋 (Breadth-first Search/BFS):走訪為每拜訪一節點就將其全部鄰點拜訪過。按照上圖,走訪順序為最小的數字 1 依照自然...
Backtracking 利用各種可得的限制來做搜尋目標中的偷吃步 八皇后問題:西洋棋盤上任意擺放八個皇后彼此都不互攻的情況有幾種? 若想著把每一種任意擺放...
二分搜尋 給定一個 N 長的單調數列,找目標值(target)的位置當目標有 1 個以上,這時有兩種位置 upper bound 與 lower bound 考...
排序 將一堆元素由"給定規則"排成一順序,稱為排序 (sort)。例如:5, 6, 9, 8, 2 這五個元素由小到大排為 2, 5, 6,...