動態

列表
創建 時間

位運算

為什麼需要位運算 機器裏的數字表示方式和存儲格式就是二進制 位運算符 含義 運算符 示例 左移 0011 --- 0110 右移 0110 --- 0011 按位或 \ 0011 \ 1011 --- 1011 按位與 0

創建 時間

字典樹的數據結構

字典樹的數據結構 字典樹,即 Trie 樹,又稱單詞查找樹或鍵樹,是一種樹形結構。典型應用是用於統計和排 序大量的字符串(但不僅限於字符串),所以經常被搜索引擎系統用於文本詞頻統計。 它的優點是:最大限度地減少 無謂的字符串比較,查詢效率 比哈希表高。 字典樹的基本性質 結點本身不存完整單詞。 從根結點到某一結點,路徑上經過的字符連接起來,為該結點對應的 字符串。 每個結點的所有子結

創建 時間

算法動態規劃

動態規劃 Dynamic Programming Wiki 定義: https://en.wikipedia.org/wiki/Dynamic_programming “Simplifying a complicated problem by breaking it down into simpler sub-problems” (in a recursive manner) Divide

創建 時間

算法深度優先搜索和廣度優先搜索

深度優先搜索和廣度優先搜索 深度優先 DFS Depth First Search 遍歷方式 遞歸 非遞歸,使用循環遍歷,需要棧後進先出的特性來輔助 廣度優先 BFS Breadth First Search 遍歷方式 循環遍歷,需要隊列先進先出的特性來輔助 貪心算法 Greedy 貪心算法是一種在每一步選擇中都採取在當前狀態下最好或最優(即最有利)的選擇,從而希望導致結果是全局最好

創建 時間

算法遞歸和回溯

遞歸 應用場景 一個問題的解可以分解成多個子問題的解。 這個問題與分解之後的子問題,除了數據規模不同,求解思路完全一樣。 存在遞歸終止條件。 遞歸代碼編寫技巧 找到如何將大問題分解成小問題的規律,基於此寫出遞推公式,推敲終止條件,將遞推公式和終止條件翻譯成代碼。 只要遇到遞歸,就把它抽象成一個遞推公式,不用想一層層的調用關係,不要試圖用人腦去分解遞歸的每個步驟。 遞歸代碼編寫難點