Hello 算法 1.1.0 TypeScript版
10.3 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 10.5 重识搜索算法 . . . . 1 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.3 构建二叉树问题 . . . 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 hello‑algo0 码力 | 383 页 | 18.49 MB | 1 年前3Hello 算法 1.0.0b5 TypeScript 版
10.3 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.5 重识搜索算法 . . . . 1 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . 照“艾宾浩斯遗忘曲线”来复习题目,通常在进行 3‑5 轮的重复后,就能将其牢记在心。 3. 搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富知识体 系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的刷题心 得可以在各个社区找到。 如图 0‑7 所示,本书内容主要涵盖“第一阶段”,旨在帮助你更高效地展开第二和第三阶段的学习。 第 0 章 前言 hello‑algo0 码力 | 378 页 | 30.70 MB | 1 年前3Hello 算法 1.2.0 简体中文 TypeScript 版
10.3 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.4 哈希优化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 10.5 重识搜索算法 . . . . 1 分治算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.3 构建二叉树问题 . . . 轮的重复后,就能将其牢记在心。推荐的题单和刷题计划请见此 GitHub 仓库。 3. 阶段三:搭建知识体系。在学习方面,我们可以阅读算法专栏文章、解题框架和算法教材,以不断丰富 知识体系。在刷题方面,可以尝试采用进阶刷题策略,如按专题分类、一题多解、一解多题等,相关的 刷题心得可以在各个社区找到。 如图 0‑8 所示,本书内容主要涵盖“阶段一”,旨在帮助你更高效地展开阶段二和阶段三的学习。 第 0 章 前言 www0 码力 | 383 页 | 18.49 MB | 9 月前3Hello 算法 1.2.0 繁体中文 TypeScript 版
10.3 二分搜尋邊界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 10.4 雜湊最佳化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10.5 重識搜尋演算法 . . . . 1 分治演算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.2 分治搜尋策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.3 構建二元樹問題 . . . 輪的重複後,就能將其牢記在心。推薦的題單和刷題計劃請見此 GitHub 倉庫。 3. 階段三:搭建知識體系。在學習方面,我們可以閱讀演算法專欄文章、解題框架和演算法教材,以不斷 豐富知識體系。在刷題方面,可以嘗試採用進階刷題策略,如按專題分類、一題多解、一解多題等,相 關的刷題心得可以在各個社群找到。 如圖 0‑8 所示,本書內容主要涵蓋“階段一”,旨在幫助你更高效地展開階段二和階段三的學習。 第 0 章 前言 www0 码力 | 384 页 | 18.80 MB | 9 月前3TypeScript Handbook(中文版)
引入新的类型参数,只要它 指定了默认类型。 新的 --strict 主要编译选项 TypeScript加入的新检查项为了避免不兼容现有项目通常都是默认关闭的。虽然避 免不兼容是好事,但这个策略的一个弊端则是使配置最高类型安全越来越复杂,这 么做每次TypeScript版本发布时都需要显示地加入新选项。有了 --strict 编译选 项,就可以选择最高级别的类型安全(了解随着更新版本的编译器增加了增强的类 moduleA 可能在你写的某个 .ts / .tsx 文件里或者在你的代码所依赖 的 .d.ts 里。 首先,编译器会尝试定位表示导入模块的文件。 编译会遵循下列二种策略之 一:Classic或Node。 这些策略会告诉编译器到哪里去查找 moduleA 。 如果它们失败了并且如果模块名是非相对的(且是在 "moduleA" 的情况下),编 译器会尝试定位一个外部模块声明。 我们接下来会讲到非相对导入。 模块解析 模块解析策略 共有两种可用的模块解析策略:Node和Classic。 你可以使用 -- moduleResolution 标记指定使用哪种模块解析策略。 若未指定,那么在使用 了 --module AMD | System | ES2015 时的默认值为Classic,其它情况时则 为Node。 Classic 这种策略以前是TypeScript默认的解析策略。 现在,它存在的理由主要是为了向后0 码力 | 557 页 | 7.48 MB | 1 年前3TypeScript 4.0 使用手册
moduleA 可能在 你写的某个 .ts / .tsx 文件里或者在你的代码所依赖的 .d.ts 里。 首先,编译器会尝试定位表示导入模块的文件。 编译器会遵循以下二种策略之一:Classic或Node。 这些策略会告诉编译器到_哪里_去查找 moduleA 。 如果上面的解析失败了并且模块名是非相对的(且是在 "moduleA" 的情况下),编译器会尝试定位 一个外部模块声明。 使用非相对路径来导入你的外部依赖。 模块解析 相对 vs. 非相对模块导入 模块解析策略 模块解析 - 230 - 本文档使用 书栈网 · BookStack.CN 构建 共有两种可用的模块解析策略:Node和Classic。 你可以使用 --moduleResolution 标记来指定使 用哪种模块解析策略。 若未指定,那么在使用了 --module AMD | System | ES2015 ES2015 时的默认值 为Classic,其它情况时则为Node。 这种策略在以前是TypeScript默认的解析策略。 现在,它存在的理由主要是为了向后兼容。 相对导入的模块是相对于导入它的文件进行解析的。 因此 /root/src/folder/A.ts 文件里 的 import { b } from "./moduleB" 会使用下面的查找流程: 1. /root/src/folder/moduleB0 码力 | 683 页 | 6.27 MB | 1 年前3Hello 算法 1.0.0b1 TypeScript 版
数被交换至数组最右端,从而 左子数组长度为 ? − 1、右子数 组长度为 0 。这样进一步递归下去,每轮哨兵划分后的右子数组长度都为 0 ,分治策略失效,快速排序退化为 「冒泡排序」了。 为了尽量避免这种情况发生,我们可以优化一下基准数的选取策略。首先,在哨兵划分中,我们可以 随机选 取一个元素作为基准数。但如果运气很差,每次都选择到比较差的基准数,那么效率依然不好。 进一步地,我们可以在数组中选取0 码力 | 186 页 | 14.71 MB | 1 年前3
共 7 条
- 1