> 隨機(jī)化算法分類:
- 數(shù)值隨機(jī)化算法:在原理上可能就不存在精確解,或者無(wú)法在可行時(shí)間內(nèi)求得,因此用該算法得到相當(dāng)滿意的解。
- 蒙特卡羅算法:能求得問(wèn)題的一個(gè)解,但這個(gè)解未必是正確的。
- 拉斯維加斯算法:絕不返回錯(cuò)誤的解,但有時(shí)可能找不到解。
- 舍伍德算法:當(dāng)一個(gè)確定性算法在最壞與平均情況時(shí)間復(fù)雜度相差較大時(shí),引入隨機(jī)性來(lái)降低最壞情況出現(xiàn)的概率,不會(huì)改變結(jié)果。
- 1 設(shè)計(jì)接口
- 1.1 容器接口Container
- 1.2 背包接口Bag
- 1.3 棧接口Stack
- 1.4 隊(duì)列接口Queue
- 1.5 Union-Find算法接口UF
- 2 實(shí)現(xiàn)接口
- 2.1 結(jié)點(diǎn)類Node
- 2.2 數(shù)組迭代器ArrayIterator
- 2.3 鏈表迭代器ListIterator
- 2.4 背包(Bag)的實(shí)現(xiàn)
- 2.4.1 能動(dòng)態(tài)調(diào)整數(shù)組大小的Bag
- 2.4.2 鏈?zhǔn)紹ag的實(shí)現(xiàn)
- 2.5 棧(Stack)的實(shí)現(xiàn)
- 2.5.1 能動(dòng)態(tài)調(diào)整數(shù)組大小的Stack
- 2.5.2 鏈?zhǔn)絊tack的實(shí)現(xiàn)
- 2.6 隊(duì)列(Queue)的實(shí)現(xiàn)
- 2.6.1 能動(dòng)態(tài)調(diào)整數(shù)組大小的Queue
- 2.6.2 鏈?zhǔn)絈ueue的實(shí)現(xiàn)
- 2.7 Union-Find算法的實(shí)現(xiàn)
- 2.7.1 DefaultUF
- 2.7.2 QuickFindUF
- 2.7.3 QuickUnionUF
- 2.7.4 WeightedQuickUnionUF
- 2.8 測(cè)試
- 2.8.1 測(cè)試Stack
- 2.8.2 測(cè)試Union-Find
- 3 排序算法
- 3.1 定義排序工具的類結(jié)構(gòu)
- 3.2 選擇排序
- 3.3 插入排序
- 3.4 希爾排序
- 3.5 歸并排序
- 3.5.1 歸并排序的合并方法
- 3.5.2 自頂向下的歸并排序
- 3.5.3 自底向上的歸并排序
- 3.6 快速排序
- 3.6.1 常規(guī)快速排序
- 3.6.2 排序前先洗牌
- 3.6.3 快速排序的改進(jìn)方法-小數(shù)據(jù)量轉(zhuǎn)成插入排序
- 3.6.4 快速排序的改進(jìn)方法-三向切分
- 3.7 堆排序
- 3.8 最終的排序工具
- 4 搜索
- 4.1 二分搜索(binarySearch)
- 4.2 優(yōu)先隊(duì)列(MaxPriorityQueue)
- 4.3 二叉查找樹(shù)(BST)
- 4.4 紅黑二叉查找樹(shù)(RedBlackBST)
- 4.5 B-樹(shù)(BTree)
- 5 圖
- 5.1 無(wú)向圖(Graph)
- 5.2 有向圖(Digraph)
- 6 貪心
- Dijkstra算法-單元最短路徑
- 7 動(dòng)態(tài)規(guī)劃
- 7.1 最長(zhǎng)公共子序列問(wèn)題
- 7.2 0-1背包問(wèn)題
- 7.3 加工順序問(wèn)題
- 8 搜索法
- 8.1 圖的著色問(wèn)題
- 8.2 深度優(yōu)先搜索
- 8.3 回溯法
- 8.3.1 回溯法的算法框架
- 8.3.2 子集樹(shù)
- 8.3.3 排列樹(shù)
- 8.3.4 滿m叉樹(shù)(組合樹(shù))
- 8.4 廣度優(yōu)先搜索
- 8.5 分支限界法
- 9 隨機(jī)化算法
- 9.1 數(shù)值隨機(jī)化算法
- 9.2 蒙特卡羅算法
- 9.3 拉斯維加斯算法
- 9.4 舍伍德算法
- 10 數(shù)論算法
- 10.1 Stein求最大公約數(shù)
- 10.2 矩陣求斐波那切數(shù)列
- LeetCode刷題筆記
