Hello 算法 1.0.0b5 Swift版与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录教程进行安装,如果已安装则可跳过此步骤。 第二步:下载代码仓。如果已经安装 Git ,可以通过以下命令克隆本仓库。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以在图 0‑4 体 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 得可以在各个社区找到。 如图 0‑7 所示,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。 第 0 章 前言 hello‑algo.com 8 图 0‑7 算法学习路线 0.3 小结 ‧ 本书的主要受众是算法初学者。如果已有一定基础,本书能帮助您系统回顾算法知识,书内源代码也可 (?2) 。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整统计 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懒统计 (o.O) 2. 第二步:判断渐近上界 时间复杂度由多项式 ?(?) 中最高阶的项来决定。这是因为在 ? 趋于无穷大时,最高阶的项将发挥主导作用, 其他项的影响都可以被忽略。 表 2‑1 展示了一些例子,其中一些夸0 码力 | 376 页 | 30.70 MB | 1 年前3
Hello 算法 1.1.0 Swift版章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo (?2) 。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整统计 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懒统计 (o.O) 2. 第二步:判断渐近上界 时间复杂度由 ?(?) 中最高阶的项来决定。这是因为在 ? 趋于无穷大时,最高阶的项将发挥主导作用,其他 项的影响都可以忽略。 表 2‑2 展示了一些例子,其中一些夸张的值是 in nums { count += 1 } return count } 值得注意的是,输入数据大小 ? 需根据输入数据的类型来具体确定。比如在第一个示例中,变量 ? 为输入数 据大小;在第二个示例中,数组长度 ? 为数据大小。 3. 平方阶 ?(?2) 平方阶的操作数量相对于输入数据大小 ? 以平方级别增长。平方阶通常出现在嵌套循环中,外层循环和内层 循环的时间复杂度都为 ?(?)0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Swift 版前言 www.hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo (?2) 。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整统计 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懒统计 (o.O) 2. 第二步:判断渐近上界 时间复杂度由 ?(?) 中最高阶的项来决定。这是因为在 ? 趋于无穷大时,最高阶的项将发挥主导作用,其他 项的影响都可以忽略。 表 2‑2 展示了一些例子,其中一些夸张的值是 in nums { count += 1 } return count } 值得注意的是,输入数据大小 ? 需根据输入数据的类型来具体确定。比如在第一个示例中,变量 ? 为输入数 据大小;在第二个示例中,数组长度 ? 为数据大小。 3. 平方阶 ?(?2) 平方阶的操作数量相对于输入数据大小 ? 以平方级别增长。平方阶通常出现在嵌套循环中,外层循环和内层 循环的时间复杂度都为 ?(?)0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0 Swift版章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone https://github.com/krahets/hello-algo (?2) 。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整统计 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懒统计 (o.O) 2. 第二步:判断渐近上界 时间复杂度由 ?(?) 中最高阶的项来决定。这是因为在 ? 趋于无穷大时,最高阶的项将发挥主导作用,其他 项的影响都可以忽略。 表 2‑2 展示了一些例子,其中一些夸张的值是 in nums { count += 1 } return count } 值得注意的是,输入数据大小 ? 需根据输入数据的类型来具体确定。比如在第一个示例中,变量 ? 为输入数 据大小;在第二个示例中,数组长度 ? 为数据大小。 3. 平方阶 ?(?2) 平方阶的操作数量相对于输入数据大小 ? 以平方级别增长。平方阶通常出现在嵌套循环中,外层循环和内层 循环的时间复杂度都为 ?(?)0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Swift 版www.hello‑algo.com 6 圖 0‑3 執行程式碼示例 執行程式碼的前置工作主要分為三步。 第一步:安裝本地程式設計環境。請參照附錄所示的教程進行安裝,如果已安裝,則可跳過此步驟。 第二步:克隆或下載程式碼倉庫。前往 GitHub 倉庫。如果已經安裝 Git ,可以透過以下命令克隆本倉庫: git clone https://github.com/krahets/hello-algo (?2) 。 ?(?) = 2?(? + 1) + (5? + 1) + 2 完整統計 (‑.‑|||) = 2?2 + 7? + 3 ?(?) = ?2 + ? 偷懶統計 (o.O) 2. 第二步:判斷漸近上界 時間複雜度由 ?(?) 中最高階的項來決定。這是因為在 ? 趨於無窮大時,最高階的項將發揮主導作用,其他 項的影響都可以忽略。 表 2‑2 展示了一些例子,其中一些誇張的值是 in nums { count += 1 } return count } 值得注意的是,輸入資料大小 ? 需根據輸入資料的型別來具體確定。比如在第一個示例中,變數 ? 為輸入資 料大小;在第二個示例中,陣列長度 ? 為資料大小。 3. 平方階 ?(?2) 平方階的操作數量相對於輸入資料大小 ? 以平方級別增長。平方階通常出現在巢狀迴圈中,外層迴圈和內層 迴圈的時間複雜度都為 ?(?)0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.0.0b2 Swift版系。在 刷题方面,可以开始采用进阶刷题方案,例如按专题分类、一题多解、一解多题等,相关刷题心得可以 在各个社区中找到。 作为一本入门教程,本书内容主要对应“第一阶段”,致力于帮助你更高效地开展第二、三阶段的学习。 Figure 0‑2. 算法学习路线 0.2.2. 行文风格约定 标题后标注 * 的是选读章节,内容相对较难。如果你的时间有限,建议可以先跳过。 文章中的重要名词会用「括号」 代码,写代码的过程往往能带来新的收获。 0. 写在前面 hello‑algo.com 5 Figure 0‑4. 运行代码示例 第一步:安装本地编程环境。参照附录教程,如果已有可直接跳过。 第二步:下载代码仓。如果已经安装 Git ,可以通过命令行来克隆代码仓。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以点击“Download ? 个互不重复的元素,求其所有可能的排列方案,则方案数量为 ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 阶乘常使用递归实现。例如以下代码,第一层分裂出 ? 个,第二层分裂出 ? − 1 个,⋯⋯,直至到第 ? 层时 终止分裂。 // === File: time_complexity.swift === /* 阶乘阶(递归实现) */ 2. 复杂度分析 hello‑algo0 码力 | 199 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b1 Swift版系。在 刷题方面,可以开始采用进阶刷题方案,例如按专题分类、一题多解、一解多题等,相关刷题心得可以 在各个社区中找到。 作为一本入门教程,本书内容主要对应“第一阶段”,致力于帮助你更高效地开展第二、三阶段的学习。 Figure 0‑2. 算法学习路线 0.2.2. 行文风格约定 标题后标注 * 的是选读章节,内容相对较难。如果你的时间有限,建议可以先跳过。 文章中的重要名词会用「括号」 代码,写代码的过程往往能带来新的收获。 0. 写在前面 hello‑algo.com 5 Figure 0‑4. 运行代码示例 第一步:安装本地编程环境。参照附录教程,如果已有可直接跳过。 第二步:下载代码仓。如果已经安装 Git ,可以通过命令行来克隆代码仓。 git clone https://github.com/krahets/hello-algo.git 当然,你也可以点击“Download ? 个互不重复的元素,求其所有可能的排列方案,则方案数量为 ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 阶乘常使用递归实现。例如以下代码,第一层分裂出 ? 个,第二层分裂出 ? − 1 个,⋯⋯,直至到第 ? 层时 终止分裂。 // === File: time_complexity.swift === /* 阶乘阶(递归实现) */ 2. 复杂度分析 hello‑algo0 码力 | 190 页 | 14.71 MB | 1 年前3
共 7 条
- 1













