- 思路: 枚舉/暴力(規(guī)范/協(xié)議)->子問(wèn)題/狀態(tài)壓縮/剪枝->最優(yōu)解
- 多畫(huà)圖
- 方法
- dimension.維度 scope.范圍 classify.分類 field.domain.領(lǐng)域 boundary.邊界 interval.區(qū)間: 左閉(0/1開(kāi)始)右開(kāi)? 邊界=Layer層=規(guī)范=協(xié)議= 環(huán)/假溢出? 連續(xù)?
- 協(xié)=2+參與者 議=行為約定與規(guī)范
- 中間層 -> 問(wèn)題復(fù)雜度 -> 社會(huì)分工越來(lái)越細(xì), 各行各業(yè)制定標(biāo)準(zhǔn)
- 有序.sort
- 二分法: 快/慢 左/右 order.正/逆/倒序 前/后; 二分->四分
- 遞歸=base+recursive=棧 優(yōu)化=循環(huán)/尾遞歸
- pl
- py: array bisect collections sortedcontainers(Map TreeMap)
- java: HashMap HashSet
- name.命名.參數(shù): ans/res ij kv pqr mn-len-Node Tmp Flag-Fn-Func Left-Right Start-End First-Last Fast-Slow small-big high-mid-low Row-Cloumn-Box visited
- ADT.abstractDataType DFA.DeterministicFiniteAutomaton.有限自動(dòng)機(jī) 面試編程.PREP.parametersReturnExamplePseudocode.IO.TDD
DS
- 存儲(chǔ)=鏈?zhǔn)?順序 邏輯=線性(arr/link/stack)+非線性(tree/graph) op=CRUD.Retrieve.查 traversal.遍歷=iteration.迭代+recursion.遞歸 RandomAccess.隨機(jī)訪問(wèn) SequentialAccess.順序訪問(wèn)
- arr.array.數(shù)組.線性表 vec.vector.向量.順序線性表 slice.切片 list.列表 prefixSum.前綴和.連續(xù)問(wèn)題
- 空間壓縮 環(huán)形數(shù)組.取模
- mat.matrix.二維.棋盤(pán)狀態(tài) symmetricMatrix.對(duì)稱矩陣 sparseMatrix.稀疏矩陣 三維.魔方類游戲
- stack.棧 LIFO pop.push DFS
- op: polishNotation.波蘭表達(dá)式.前綴.中綴.后綴 括號(hào)匹配.棧匹配 棧實(shí)現(xiàn)隊(duì)列
- monotoneStack.單調(diào)棧: 下一個(gè)大于/小于 邊界-哨兵法; 廣義棧
- queue.隊(duì)列 FIFO.FistInFirstOut front/back enqueue/dequeue BFS
- monotonicQueue.單調(diào)隊(duì)列
- deque.雙端隊(duì)列.pool
- ring.環(huán).循環(huán).固定長(zhǎng)度緩沖區(qū)讀寫(xiě).io緩沖區(qū)
- linkedList.鏈表
- 畫(huà)圖 迭代操作(head+pre+cur+next) 固定頭結(jié)點(diǎn).表頭節(jié)點(diǎn).啞結(jié)點(diǎn)dummyNode.哨兵節(jié)點(diǎn)
- op: reverse.反轉(zhuǎn) 中值 奇偶 快慢 相交.環(huán)
- singleLinkedList.單鏈表 doubleLinkedList.雙向鏈表 LinearList.線性鏈表 staticList.靜態(tài)鏈表
- hash.哈希.散列 hashTable dict.字典 map.映射 kv.keyValuePair.鍵值對(duì) symbolTable.符號(hào)表 assocArray.關(guān)聯(lián)數(shù)組
- hashFunction.散列函數(shù) 解決碰撞.填充因子 conflict.沖突.抽屜原理 separateChain.鏈地址法.拉鏈法 開(kāi)放地址=linearProbing線性探查+線性補(bǔ)償探測(cè)+隨機(jī)探測(cè)
- rehash 漸進(jìn)式rehash
- consistentHash.一致性hash DHT.分布式hash
- uint32環(huán) node(真實(shí)節(jié)點(diǎn))/replica(虛擬節(jié)點(diǎn)) 順時(shí)針查找第一個(gè)
- judge: balance monotonous.單調(diào) spread load
- MurmurHash: 規(guī)律輸入依然可以給出很好的隨機(jī)分布+計(jì)算速度
- xxHash: https://xxhash.com
- string.字符串匹配
- KMP FSM.FiniteStateMachine.有限狀態(tài)機(jī) 模式匹配有限狀態(tài)機(jī) BM BM-KMP BF RK
- approximate/fuzzy.模糊匹配 suffixArr.后綴數(shù)組
- trie.字典樹(shù).前綴樹(shù) 動(dòng)態(tài)路由.查找.詞頻統(tǒng)計(jì) 路由=restful/fixed/regex/custom/auto/annotation+param.
:id
+method.GET+namespace.v1- radixTree.基數(shù)樹(shù)
- tree 度.根.葉.兄弟.高度 無(wú)序.有序 二叉.多叉
大部分算法技巧本質(zhì)上都是樹(shù)的遍歷問(wèn)題
- binaryTree.二叉樹(shù) 滿 complete.完全 Serialization.序列化
- op:
遍歷
(pre前.in中.after后 層次.bfs) create(前序+中序 樹(shù)狀數(shù)組) depth(min max) lca.leastCommonAncestors.最近公共祖先 - BST.binarySearchTree.搜索.查找 -> binarySortTree.退化為鏈表的性能問(wèn)題 -> Balance.平衡/AVL/RBT.redBlackTree.紅黑樹(shù) -> 區(qū)間樹(shù).區(qū)間查詢.區(qū)間重疊判斷-> 線段樹(shù).葉子節(jié)點(diǎn)區(qū)間范圍之和.區(qū)間重疊判斷.統(tǒng)計(jì)學(xué)(大區(qū)間+小區(qū)間)
- binaryIndexedTree.二叉索引樹(shù).樹(shù)狀數(shù)組 segmentTree.線段樹(shù).區(qū)間樹(shù) HuffmanTree.哈夫曼樹(shù) b+.數(shù)據(jù)庫(kù)索引
- doubleChainedTree.雙鏈樹(shù)
- op:
- 多叉: B.文件管理.數(shù)據(jù)庫(kù).多路+有序 B+.終端節(jié)點(diǎn)處理不同 2-3 2-3-4
- Huffman_coding.霍夫曼編碼 merkleTree.哈希二叉樹(shù).區(qū)塊鏈
- k-dTree(游戲中碰撞檢測(cè) 4維/8維) DOM/HTML/AST/XML
- binaryTree.二叉樹(shù) 滿 complete.完全 Serialization.序列化
- set hashSet treeSet DisjointSet
- map hashMap treeMap
- heap.堆
- array實(shí)現(xiàn): 極大堆/極小堆/極大極小堆/優(yōu)先級(jí)隊(duì)列.priorityQueue.os線程調(diào)度 雙端堆.Deap d叉堆
- tree實(shí)現(xiàn): binaryHeap.二叉堆 左堆 扁堆 二項(xiàng)式堆 fibHeap pairingHeap.配對(duì)堆
- find.查找 unionFind.并查集
- 路徑壓縮+秩優(yōu)化實(shí)現(xiàn) 每個(gè)集合元素個(gè)數(shù)+最大集合元素個(gè)數(shù)實(shí)現(xiàn) 并查集是一種思想 特殊節(jié)點(diǎn).地圖/磚塊/網(wǎng)格
- hash binarySortTree.排序二叉樹(shù) AVL/B/B+/B*/AA/RBT/splay/DCT/R binaryHeap
- skipList.跳表
- graph.圖 graphTheory.圖論 seen-vis-visted
- 權(quán) 向 入度出度 連通/強(qiáng)連通 DirectedGraph有向圖 DAG.DirectedAcyclicGraph.有向無(wú)環(huán)圖.任務(wù)編排
- op:
遍歷
(dfs bfs) create.鄰接表-稀疏.鄰接矩陣-矩陣運(yùn)算 - algo: dijkstra.最短路徑.非負(fù)權(quán)邊 Bellman-Ford最短路徑.負(fù)權(quán)邊 Floyd 最小生成樹(shù)(Kruskal&Prim) 二分圖(染色法) 拓?fù)渑判?fordFulkerson最大流 A*搜索.A星尋路.啟發(fā)式搜索 圖匹配 網(wǎng)絡(luò)流
- other: LFU LRU.LRU-K.LRU-2Q 分桶
algo
NP完全:
bigO
.時(shí)間/空間 所有組合 必須考慮所有情況 序列.旅行商問(wèn)題 集合.廣播臺(tái)集合math.bit位操作
-
binarySearch.二分查找 思路很簡(jiǎn)單細(xì)節(jié)是魔鬼 閉區(qū)間+邊界檢查
- 經(jīng)典解法.
low<=high
4個(gè)變種.^= $= ^>= $<=
最大化最小化問(wèn)題
- 經(jīng)典解法.
-
sort.排序
- 類型: 交換(冒泡 快排.qsort.quickSort.pdqsort) 插入(直插 shell希爾) 選擇(簡(jiǎn)選 quickSelectSort.快選 堆) mergeSort.歸并(二路 多路) 基數(shù) 計(jì)數(shù)(計(jì)數(shù)信息=排序結(jié)果) 桶 線性 自省 間接
- 外部: k路歸并敗者樹(shù) 最佳歸并樹(shù)
-
暴力=枚舉=打表法 狀態(tài)/不重不漏/效率
- 排列組合 子集 映射
-
DC.分治
- RC.ReduceConquer.減治.小問(wèn)題只解決一個(gè)大問(wèn)題就解決了: 二分查找 randomizedSelect.隨機(jī)選擇
-
DP.動(dòng)態(tài)規(guī)劃=狀態(tài)+狀態(tài)轉(zhuǎn)移方程+邊界情況
- 暴力遞歸->帶memo遞歸->DP狀態(tài)->memo狀態(tài)壓縮->狀態(tài)間關(guān)系 memo.備忘錄->status.狀態(tài)壓縮 trim.剪枝 最優(yōu)解 子問(wèn)題離散&不依賴其他子問(wèn)題 網(wǎng)格
- 最優(yōu)二叉搜索樹(shù)
- Knapsack.背包 subKnapsack.子集背包 completeknapsack.完全背包 01knapsack
- subsequence.子序列 LCS.LongestCommonSubsequence.最長(zhǎng)公共子序列
greedy.貪心.貪婪 每步最優(yōu)解>全局最優(yōu) scheduleProblem.調(diào)度問(wèn)題 jumpGame.跳躍游戲 gameProblem.博弈問(wèn)題
backtracking.回溯 迷宮
-
search.搜索
- 枚舉.迷宮 DFS.deepFirstSearch.深度優(yōu)先 BFS.BreadthFirstSearch.seen 啟發(fā)式搜索
分支定界法
-
大數(shù)據(jù)
- BF.bloomFilter.布隆過(guò)濾器: 概率型數(shù)據(jù)結(jié)構(gòu) 概率型算法 替代.Cuckoo/Hyperloglog
- ai
security安全: bcrypt.目前最安全密碼散列 sha.局部不敏感=局部變化散列值完全不同 simhash.局部敏感.網(wǎng)頁(yè)是否搜集+論文是否抄襲+版權(quán)檢查
-
other
- LB.LoadBalance: rand roundRobin.取余 weightRoundRobin p2c
- limit: 滑動(dòng)窗口(頻率/并發(fā)上限) tokenBucket(令牌桶 瞬時(shí)流量)
- timingWheel.時(shí)間輪: 延遲操作
- 2point.雙指針: 快慢指針+左右指針
- SlidingWindow.滑動(dòng)窗口: 連續(xù)問(wèn)題 快慢指針/固定間距指針
精選題解: 字典序列刪除 前綴和 二叉樹(shù)序列化 最長(zhǎng)上升子序列 最長(zhǎng)公共子序列 最大子序列和 股票買(mǎi)賣(mài) 打家劫舍
topk: qsort全局排序.分治->冒泡.局部排序->heap->rc減治.rs隨機(jī)選擇.只排序k個(gè)元素的區(qū)
InvertedIndex倒排索引: 搜索引擎
epoll: readBlackTree+doubleList
bit Bit_numbering Category:Binary_arithmetic
- 進(jìn)制 進(jìn)制轉(zhuǎn)換: bin oct hex(
n&15 n>>=4
n%16 n//=16
)11 0b11 011 0x11
- binary 二進(jìn)制; decimal 十進(jìn)制; hex 十六進(jìn)制; octal 8進(jìn)制
- int
- uint8 byte ascii: chr ord
'a'^' '='A'
'A'|' '='a'
'a'&'_'='A'
- signed/unsigned 機(jī)器數(shù)&真值 trueForm.原碼 反碼=除符號(hào)位按位取反 Complement.補(bǔ)碼=反碼+1
- str2int int2str
- uint8 byte ascii: chr ord
- op
&.and |.or ^.xor ~.not << >>
算術(shù)右移 邏輯右移.最高位補(bǔ)0 移位與除法 奇偶n&1 n>>1 %2
末位n&1
- 冪等律
a|a=a
交換律a|b=b|a
結(jié)合律a&b&c=a&(b&c)
分配律a&(b|c)=(a&b)|(a&c)
- 德摩根
~(a&b)=(~a)&(~b)
取反-a=~(a-1)
異或^ i^0=i i^i=0 4i^(4i+1)^(4i+2)^(4i+3)=0
- lsb.最低有效位 消除
n&(n-1)
只保留n&-n n&(~(n-1))
msb oneCnt - add divide hammingDistance
- 冪等律
- bitmap.位圖.bitset 32/64
k,v:=n/64,n%64
str2biti|=1<<(v-'a')
- dp.狀態(tài)壓縮: 只有2種狀態(tài)&n<=20
- mask 右n位清零
x&(~0<<n)
n位bit(x>>n)&1
n位冪值x&(1>>(n-1))
n位設(shè)為1.n1x|(1<<n)
n位設(shè)為0.n0x&(~(1<<n))
math
- 進(jìn)制轉(zhuǎn)換 階乘 素?cái)?shù) 快速冪 楊輝三角 裴蜀定理 斜率 fib
- 最大公約數(shù): 輾轉(zhuǎn)相除法=歐幾里得算法 更相減損術(shù)(九章算術(shù))-位運(yùn)算(奇偶)
- 排列組合
- 約瑟夫環(huán)
dp[i]=(dp[i-1]+m)%i
- 快速冪求余
- 算術(shù)幾何不等式
- 公式推導(dǎo)
// 減法變加法
a + ^(b-1) // a-b
leetcode
- leetcode lintcode acmcoder.賽碼 Hackerrank 牛客網(wǎng) codetop.企業(yè)題庫(kù) codewars vjudge geeksforgeeks oi-wiki.信息奧林匹克 the-algorithms javascript-algorithms
- LeetCode題解
src/go
:// id https://leetcode.cn/problems/{title} 題解=tag+思路
題解.多語(yǔ)言代碼塊.java []
專題/模板- 題解: 自己讀題 -> 15分鐘還沒(méi)思路 -> 看題解 -> 完全不會(huì)才看代碼/記筆記 -> coding/debug
- lucifer.力扣加加.91algo.leetcode-solution
- labuladong/fucking-algorithm 算法有套路.算法小抄
- halfrost/LeetCode-go leetcode-cookbook 阿里霜神
- LeetCodeAnimation LeetCode101.c++.谷歌師兄刷題筆記
leetbook
- 位運(yùn)算與數(shù)學(xué)
- 數(shù)據(jù)結(jié)構(gòu)
- 數(shù)組和字符串 數(shù)組類算法
- 基本概念+操作方式; 二維數(shù)組; 字符串 概念+特性; KMP算法; 雙指針
- 鏈表
- 哈希表 查找表類算法
- 隊(duì)列和棧
- 二叉樹(shù) 二叉搜索樹(shù) 前綴樹(shù) N叉樹(shù)
- 圖解數(shù)據(jù)結(jié)構(gòu)
- 數(shù)組和字符串 數(shù)組類算法
- 算法
- 初級(jí)算法 中級(jí)算法 高級(jí)算法
- 遞歸 二分查找
- AI數(shù)學(xué)基礎(chǔ)
- 漫畫(huà)算法
leetcode tool
- leetcode web
- problemset題庫(kù)
- 分類: 算法 劍指offer 程序員面試金典6 hot100 top200
- 標(biāo)簽tag: 學(xué)了一個(gè)知識(shí)后, 按標(biāo)簽刷, 快速鞏固: bit-manipulation.位運(yùn)算
- session.設(shè)置-進(jìn)度管理
- circle社區(qū): 題解
- code題目頁(yè)面: 模擬面試 快捷鍵(
?' ???
) 使用上一次的編輯 還原 playground調(diào)試 測(cè)試用例 可視化 收藏中心
- problemset題庫(kù)
- leetcode app
- 搖一搖切換中英文描述/隨機(jī)一題
- 學(xué)習(xí)分析
- help
- plus: 付費(fèi)精選題目和內(nèi)容; 企業(yè)題庫(kù); 企業(yè)模擬面試(免費(fèi)可 隨機(jī)); 題目熱度; 極速判題; playground(調(diào)試)
- 模擬面試: 1-3題, 30-90分鐘
- 競(jìng)賽: 報(bào)名 -> AC +1分, 每次錯(cuò)誤 +5min 罰時(shí)
- 個(gè)人主頁(yè): 做題進(jìn)度 收藏/筆記/積分 訂單 賬號(hào)
- 技術(shù)問(wèn)題
- 各語(yǔ)言對(duì)應(yīng)版本和環(huán)境: phpinfo() => 7.2
- 全局變量和類內(nèi)靜態(tài)變量 -> 手動(dòng)初始化
- stdout 打印: debug + 增加耗時(shí)
- 二叉樹(shù)序列化
- timeout.leetcode的鍋 TLE.TimeLimitExceeded.代碼的鍋
- plus: 付費(fèi)精選題目和內(nèi)容; 企業(yè)題庫(kù); 企業(yè)模擬面試(免費(fèi)可 隨機(jī)); 題目熱度; 極速判題; playground(調(diào)試)
- 力扣刷題插件.lucifer
- 題解模板/查看題解
- 代碼: 一鍵復(fù)制所有測(cè)試用例 禪定模式
- 代碼模板: 前綴和(一維 二維) 二分法(baisc+4變種) BFS(是否帶層信息) 堆(最小堆) 滑動(dòng)窗口(固定窗口/可變窗口) 回溯(標(biāo)準(zhǔn) 笛卡爾積優(yōu)化) 前綴樹(shù) 并查集(是否帶權(quán)) 線段樹(shù)(區(qū)間和 計(jì)數(shù))
- 數(shù)據(jù)結(jié)構(gòu)可視化
- 復(fù)雜度速查
- 學(xué)習(xí)路線: 動(dòng)態(tài)規(guī)劃 樹(shù) 鏈表 二分
- 如何刷題
- 題解: 自己讀題 -> 15分鐘還沒(méi)思路 -> 看題解 -> 完全不會(huì)才看代碼/記筆記 -> coding/debug
- 按專題(tag)刷 -> 模板/筆記/多題同解
- 構(gòu)建知識(shí)體系/框架/套路
- 廣度優(yōu)先而非深度(死磕某一個(gè)知識(shí))
- 掌握編程語(yǔ)言
- 模擬面試: 時(shí)間觀念+一次AC
- 訓(xùn)練目標(biāo): AC數(shù)量 AC速度 AC通過(guò)率 競(jìng)賽排名前100 beats-CPU/mem-100%
- bug-free: 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)+算法形成肌肉記憶 單測(cè)+調(diào)試
- code: 命名name(簡(jiǎn)潔&一致性) 小心全局變量 提交后查看排名->分段->看100%的代碼 直接使用系統(tǒng)api
- debug: 批量測(cè)試 數(shù)據(jù)可視化
- 鎖定使用哪種算法: 記憶/題感/暴力解(暴力+剪枝 大力出奇跡) 關(guān)鍵字 限制條件+復(fù)雜度速查 分治思維
- 九章算法
- 企業(yè)題庫(kù) 領(lǐng)扣lintcode題庫(kù)(Java c++ py)
- 免費(fèi)課:ai 企業(yè)題庫(kù)/面試 算法
- 發(fā)現(xiàn):求職面試 學(xué)習(xí)筆記 上班摸魚(yú)
- 消息
- 我:發(fā)布 收藏 學(xué)分 學(xué)習(xí)記錄
leetcode.tag
- Fundamentals 基本
- Array 數(shù)組
- Matrix 矩陣
- String 字符串
- StringMatching 字符串匹配
- Sorting 排序
- BucketSort 桶排序
- CountingSort 計(jì)數(shù)排序
- RadixSort 基數(shù)排序
- Simulation 模擬
- Enumeration 枚舉
- Algorithms 算法
- DynamicProgramming 動(dòng)態(tài)規(guī)劃
- Depth-FirstSearch 深度優(yōu)先搜索
- Breadth-FirstSearch 廣度優(yōu)先搜索
- Greedy 貪心
- BinarySearch 二分查找
- Backtracking 回溯
- Recursion 遞歸
- DivideandConquer 分治
- Memoization 記憶化搜索
- Quickselect 快速選擇
- MergeSort 歸并排序
- CommonDataStructures 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
- HashTable 哈希表
- Tree 樹(shù)
- BinaryTree 二叉樹(shù)
- Stack 棧
- Heap(PriorityQueue) 堆(優(yōu)先隊(duì)列)
- Graph 圖
- LinkedList 鏈表
- BinarySearchTree 二叉搜索樹(shù)
- MonotonicStack 單調(diào)棧
- Queue 隊(duì)列
- OrderedSet 有序集合
- TopologicalSort 拓?fù)渑判?/li>
- ShortestPath 最短路
- Doubly-LinkedList 雙向鏈表
- MonotonicQueue 單調(diào)隊(duì)列
- MinimumSpanningTree 最小生成樹(shù)
- StronglyConnectedComponent 強(qiáng)連通分量
- EulerianCircuit 歐拉回路
- BiconnectedComponent 雙連通分量
- AdvancedDataStructures 高級(jí)數(shù)據(jù)結(jié)構(gòu)
- UnionFind 并查集
- Trie 字典樹(shù)
- SegmentTree 線段樹(shù)
- BinaryIndexedTree 樹(shù)狀數(shù)組
- SuffixArray 后綴數(shù)組
- Techniques 技巧
- TwoPointers 雙指針
- BitManipulation 位運(yùn)算
- SlidingWindow 滑動(dòng)窗口
- PrefixSum 前綴和
- Counting 計(jì)數(shù)
- Bitmask 狀態(tài)壓縮
- HashFunction 哈希函數(shù)
- RollingHash 滾動(dòng)哈希
- LineSweep 掃描線
- Math 數(shù)學(xué)
- Math 數(shù)學(xué)
- Geometry 幾何
- GameTheory 博弈
- Randomized 隨機(jī)化
- Combinatorics 組合數(shù)學(xué)
- NumberTheory 數(shù)論
- ProbabilityandStatistics 概率與統(tǒng)計(jì)
- ReservoirSampling 水塘抽樣
- RejectionSampling 拒絕采樣
- Other 其他
- Database 數(shù)據(jù)庫(kù)
- Design 設(shè)計(jì)
- DataStream 數(shù)據(jù)流
- Interactive 交互
- Brainteaser 腦筋急轉(zhuǎn)彎
- Iterator 迭代器
- Concurrency 多線程
- Shell
# fetch/xhr grphql questionTagTypeWithTags
a = json.loads(s)
a = a['data']['questionTagTypeWithTags']
for i in a:
print("-", i['name'].replace(" ", ""), i['transName'])
for j in i['tagRelation']:
j = j['tag']
print(" -", j['name'].replace(" ", ""), j['nameTranslated'])
mark
- example.業(yè)務(wù): 人羊狼草過(guò)河.狀態(tài)圖 正則/訂單狀態(tài).自動(dòng)機(jī) api設(shè)計(jì).二部圖 線段切割法-搶紅包
- React hooks: not magic, just arrays
- 可視化 https://visualgo.net https://algorithm-visualizer.org https://www.bigocheatsheet.com https://www.cs.usfca.edu/~galles/visualization
- 浙江大學(xué).左程云
- 算法帝國(guó) 算法之美
- 算法通關(guān)之路 2021.8 LeetCode題解
- 劍指offer 名企面試官精講典型編程題 專項(xiàng)突破版; 2021.8
- 大話數(shù)據(jù)結(jié)構(gòu); 程杰 2020.12
- CTCI Cracking the coding interview 程序員面試金典6 2019.9; 程序員面試金典ed5 2013.11
- 漫畫(huà)算法: 小灰的算法之旅; 2019.5
- 程序員的算法趣題
- 2 2023.5; 內(nèi)存優(yōu)化+動(dòng)態(tài)規(guī)劃
- 1 2017.7
- grokking algorithms 算法圖解; 2017.3; 入門(mén)佳作
- 妙趣橫生的算法; C++語(yǔ)言實(shí)現(xiàn) 2014.10; C語(yǔ)言實(shí)現(xiàn)2 2015.3
- 算法的樂(lè)趣; 王曉華.orbit 2015.3
- Programming Pearls 編程珠璣; 2014.12
- 挑戰(zhàn)程序設(shè)計(jì)競(jìng)賽ed2; 2013.7
- 數(shù)據(jù)結(jié)構(gòu)與算法分析 java語(yǔ)言描述; 鄧俊輝 2013
- Introduction to Algorithms 算法導(dǎo)論 ed3; 2012.12; 2層, 一層培養(yǎng)算法思維+使用現(xiàn)有的結(jié)論, 一層深入算法的數(shù)學(xué)證明(這層可選擇); MIT算法導(dǎo)論.bilibili
- TAOCP theArtOfComputerProgramming 計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) ed3; 1基本算法 2半數(shù)值算法 3排序與查找 4A組合算法
- Algorithms 算法ed4; 2012.10; 閱讀計(jì)劃.ituring-wechat
- 程序員實(shí)用算法 2009.9
- 編程之美 微軟技術(shù)面試心得; 劉鐵鋒 2008.3
- 如果使用循環(huán)欣福,程序的性能可能更高拓劝;如果使用遞歸郑临,程序可能更容易理解厢洞。如何選擇要看什么對(duì)你來(lái)說(shuō)更重要。-- Leigh Caldwell
- Haskell 等函數(shù)式編程語(yǔ)言就沒(méi)有循環(huán)丧叽,因此你只能使用遞歸來(lái)編寫(xiě)這樣的函數(shù)蠢正。如果你對(duì)遞歸有深入的認(rèn)識(shí)嚣崭,函數(shù)式編程語(yǔ)言學(xué)習(xí)起來(lái)將更加容易雹舀。如果你喜歡遞歸或者想學(xué)習(xí)一門(mén)新語(yǔ)言说榆,可以研究一下 Haskell
- 數(shù)據(jù)結(jié)構(gòu)是典型的面向?qū)ο笏季S 算法是典型的面對(duì)過(guò)程思維
- 學(xué)習(xí)算法是非常有趣和令人激動(dòng)的; 但是算法, 就是解決問(wèn)題時(shí)的那份「優(yōu)雅」.
- 算法4特征.Knuth: 確定 有窮 可行 IO; 程序=算法+數(shù)據(jù)結(jié)構(gòu); 問(wèn)題的數(shù)學(xué)模型->IO->算法
- 算法與解釋: 清單.算法的生活化解讀 算法自身是沒(méi)有任何企圖的.算法不是道德主體.可接受vs不可接受 不同表達(dá)方式.解釋算法 一切皆有可能vs無(wú)限可能 透明性.可計(jì)算.可判斷.可靠.安全
- 算法與現(xiàn)實(shí): 書(shū)寫(xiě)符號(hào).字典查找/加減法 打孔卡片制表機(jī).鼓浪嶼風(fēng)琴博物館 data.gov