Hello 算法 1.2.0 繁体中文 Dart 版
動起來。 第 3 章 資料結構 www.hello‑algo.com 52 3.1 資料結構分類 常見的資料結構包括陣列、鏈結串列、堆疊、佇列、雜湊表、樹、堆積、圖,它們可以從“邏輯結構”和“物 理結構”兩個維度進行分類。 3.1.1 邏輯結構:線性與非線性 邏輯結構揭示了資料元素之間的邏輯關係。在陣列和鏈結串列中,資料按照一定順序排列,體現了資料之間 的線性關係;而在樹中,資料從頂 ,這個問題不難解決,我們可以將陣列替換為動態陣 列,從而引入擴容機制。有興趣的讀者可以嘗試自行實現。 兩種實現的對比結論與堆疊一致,在此不再贅述。 5.2.3 佇列典型應用 ‧ 淘寶訂單。購物者下單後,訂單將加入列列中,系統隨後會根據順序處理佇列中的訂單。在雙十一期 間,短時間內會產生海量訂單,高併發成為工程師們需要重點攻克的問題。 ‧ 各類待辦事項。任何需要實現“先來後到”功能的場景 了分治的思 想。 ‧ 雜湊表:雖然雜湊表並不直接應用分治,但某些雜湊衝突解決方案間接應用了分治策略,例如,鏈式位 址中的長鏈結串列會被轉化為紅黑樹,以提升查詢效率。 可以看出,分治是一種“潤物細無聲”的演算法思想,隱含在各種演算法與資料結構之中。 12.2 分治搜尋策略 我們已經學過,搜尋演算法分為兩大類。 ‧ 暴力搜尋:它透過走訪資料結構實現,時間複雜度為 ?(?) 。 ‧ 自適0 码力 | 378 页 | 18.77 MB | 10 月前3Hello 算法 1.1.0 Dart版
无后效性。然而,某些问题具有非常严重的“有后效性”。 爬楼梯与障碍生成 给定一个共有 ? 阶的楼梯,你每步可以上 1 阶或者 2 阶。规定当爬到第 ? 阶时,系统自动会在第 2? 阶上放上障碍物,之后所有轮都不允许跳到第 2? 阶上。例如,前两轮分别跳到了第 2、3 阶上,则之 后就不能跳到第 4、6 阶上。请问有多少种方案可以爬到楼顶? 第 14 章 动态规划 hello‑algo.com0 码力 | 378 页 | 18.45 MB | 1 年前3Hello 算法 1.2.0 简体中文 Dart 版
无后效性。然而,某些问题具有非常严重的“有后效性”。 爬楼梯与障碍生成 给定一个共有 ? 阶的楼梯,你每步可以上 1 阶或者 2 阶。规定当爬到第 ? 阶时,系统自动会在第 2? 阶上放上障碍物,之后所有轮都不允许跳到第 2? 阶上。例如,前两轮分别跳到了第 2、3 阶上,则之 后就不能跳到第 4、6 阶上。请问有多少种方案可以爬到楼顶? 第 14 章 动态规划 www.hello‑algo0 码力 | 378 页 | 18.46 MB | 10 月前3Hello 算法 1.0.0b5 Dart版
效性。然而,某些问题具有非常严重的“有后效性”。 � 爬楼梯与障碍生成 给定一个共有 ? 阶的楼梯,你每步可以上 1 阶或者 2 阶。规定当爬到第 ? 阶时,系统自动会 给第 2? 阶上放上障碍物,之后所有轮都不允许跳到第 2? 阶上。例如,前两轮分别跳到了第 2、 3 阶上,则之后就不能跳到第 4、6 阶上。请问有多少种方案可以爬到楼顶。 在这个问题中,下次跳跃依赖于过去所有的状态,因为每0 码力 | 376 页 | 30.67 MB | 1 年前3Hello 算法 1.0.0 Dart版
无后效性。然而,某些问题具有非常严重的“有后效性”。 � 爬楼梯与障碍生成 给定一个共有 ? 阶的楼梯,你每步可以上 1 阶或者 2 阶。规定当爬到第 ? 阶时,系统自动会 在第 2? 阶上放上障碍物,之后所有轮都不允许跳到第 2? 阶上。例如,前两轮分别跳到了第 2、 3 阶上,则之后就不能跳到第 4、6 阶上。请问有多少种方案可以爬到楼顶? 第 14 章 动态规划 hello‑algo.com0 码力 | 377 页 | 17.56 MB | 1 年前3
共 5 条
- 1