Hello 算法 1.2.0 繁体中文 C# 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 通常比 std::vector 更佔用空間。 第 4 章 陣列與鏈結串列 www.hello‑algo.com 88 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Dart 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 通常比 std::vector 更佔用空間。 第 4 章 陣列與鏈結串列 www.hello‑algo.com 88 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 378 页 | 18.77 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Go 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 空間開銷:由於每個元素需要兩個額外的指標(一個用於前一個元素,一個用於後一個元素),所以 std::list 通常比 std::vector 更佔用空間。 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 385 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Kotlin 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 空間開銷:由於每個元素需要兩個額外的指標(一個用於前一個元素,一個用於後一個元素),所以 std::list 通常比 std::vector 更佔用空間。 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 382 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Java 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 通常比 std::vector 更佔用空間。 第 4 章 陣列與鏈結串列 www.hello‑algo.com 88 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 JavaScript 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 空間開銷:由於每個元素需要兩個額外的指標(一個用於前一個元素,一個用於後一個元素),所以 std::list 通常比 std::vector 更佔用空間。 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 379 页 | 18.78 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 TypeScript 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 空間開銷:由於每個元素需要兩個額外的指標(一個用於前一個元素,一個用於後一個元素),所以 std::list 通常比 std::vector 更佔用空間。 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 384 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Swift 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 空間開銷:由於每個元素需要兩個額外的指標(一個用於前一個元素,一個用於後一個元素),所以 std::list 通常比 std::vector 更佔用空間。 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 第 7 章 樹 www.hello‑algo.com 151 1. 對於根節點,左子樹中所有節點的值0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Ruby 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 空間開銷:由於每個元素需要兩個額外的指標(一個用於前一個元素,一個用於後一個元素),所以 std::list 通常比 std::vector 更佔用空間。 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 372 页 | 18.75 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Python 版案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和 GPU 執行演算法。這樣一來,我們就能把 生活中的問題轉移到計算機上,以更高效的方式解決各種複雜問題。 Tip 如果你對資料結構、演算法、陣列和二分搜尋等概念仍感到一知半解,請繼續往下閱讀,本書將引導 空間開銷:由於每個元素需要兩個額外的指標(一個用於前一個元素,一個用於後一個元素),所以 std::list 通常比 std::vector 更佔用空間。 ‧ 快取不友好:由於資料不是連續存放的,因此 std::list 對快取的利用率較低。一般情況下,std::vector 的效能會更好。 另一方面,必要使用鏈結串列的情況主要是二元樹和圖。堆疊和佇列往往會使用程式語言提供的 stack 和 queue ,而非鏈結串列。 Q:操作 ‧ 陣列儲存需要連續記憶體空間,因此不適合儲存資料量過大的樹。 ‧ 增刪節點需要透過陣列插入與刪除操作實現,效率較低。 ‧ 當二元樹中存在大量 None 時,陣列中包含的節點資料比重較低,空間利用率較低。 7.4 二元搜尋樹 如圖 7‑16 所示,二元搜尋樹(binary search tree)滿足以下條件。 1. 對於根節點,左子樹中所有節點的值 < 根節點的值 < 右子樹中所有節點的值。0 码力 | 364 页 | 18.74 MB | 10 月前3
共 36 条
- 1
- 2
- 3
- 4













