Hello 算法 1.2.0 繁体中文 C# 版if (n <= 1) return 0; return LogRecur(n / 2) + 1; } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 第 4 章 陣列與鏈結串列 www.hello‑algo.com 85 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Dart 版(n <= 1) return 0; return logRecur(n ~/ 2) + 1; } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 第 4 章 陣列與鏈結串列 www.hello‑algo.com 85 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。0 码力 | 378 页 | 18.77 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Go 版if n <= 1 { return 0 } return logRecur(n/2) + 1 } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: hello‑algo.com 85 硬碟 記憶體 快取 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 第 4 章 陣列與鏈結串列 www.hello‑algo.com 86 圖 4‑10 硬碟、記憶體和快取之間的資料流通 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。0 码力 | 385 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Kotlin 版if (n <= 1) return 0 return logRecur(n / 2) + 1 } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 斷電後資料會丟失 斷電後資料會丟失 第 4 章 陣列與鏈結串列 www.hello‑algo.com 84 硬碟 記憶體 快取 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 第 4 章 陣列與鏈結串列 www.hello‑algo.com 85 圖 4‑10 硬碟、記憶體和快取之間的資料流通 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。0 码力 | 382 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Java 版(n <= 1) return 0; return logRecur(n / 2) + 1; } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 第 4 章 陣列與鏈結串列 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 第 4 章 陣列與鏈結串列 www.hello‑algo.com 85 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 JavaScript 版if (n <= 1) return 0; return logRecur(n / 2) + 1; } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。 一方面,記憶體是有限的,且同一塊0 码力 | 379 页 | 18.78 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 TypeScript 版if (n <= 1) return 0; return logRecur(n / 2) + 1; } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。 一方面,記憶體是有限的,且同一塊0 码力 | 384 页 | 18.80 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Swift 版<= 1 { return 0 } return logRecur(n: n / 2) + 1 } 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。 一方面,記憶體是有限的,且同一塊0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Ruby 版log_recur(n) return 0 unless n > 1 log_recur(n / 2) + 1 end 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。 一方面,記憶體是有限的,且同一塊0 码力 | 372 页 | 18.75 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 Python 版對數階(遞迴實現)""" if n <= 1: return 0 return log_recur(n / 2) + 1 對數階常出現於基於分治策略的演算法中,體現了“一分為多”和“化繁為簡”的演算法思想。它增長緩慢, 是僅次於常數階的理想的時間複雜度。 ?(log ?) 的底數是多少? 準確來說,“一分為 ?”對應的時間複雜度是 ?(log? ?) 。而透過對數換底公式,我們可以得到具有 不同底數、相等的時間複雜度: 儲存經常訪問的資料和指令,減少 CPU 訪問記憶體的次數 易失 性 斷電後資料不會丟失 斷電後資料會丟失 斷電後資料會丟失 容量 較大,TB 級別 較小,GB 級別 非常小,MB 級別 速度 較慢,幾百到幾千 MB/s 較快,幾十 GB/s 非常快,幾十到幾百 GB/s 價格 較便宜,幾毛到幾元 / GB 較貴,幾十到幾百元 / GB 非常貴,隨 CPU 打包計價 我們可以將計算機儲存系統想象為圖 所示,在程式執行時,資料會從硬碟中被讀取到記憶體中,供 CPU 計算使用。快取可以看作 CPU 的一部分,它透過智慧地從記憶體載入資料,給 CPU 提供高速的資料讀取,從而顯著提升程式的執行效率, 減少對較慢的記憶體的依賴。 圖 4‑10 硬碟、記憶體和快取之間的資料流通 4.4.2 資料結構的記憶體效率 在記憶體空間利用方面,陣列和鏈結串列各自具有優勢和侷限性。 一方面,記憶體是有限的,且同一塊0 码力 | 364 页 | 18.74 MB | 10 月前3
共 15 条
- 1
- 2













