Hello 算法 1.2.0 繁体中文 JavaScript 版在與讀者交流期間,我 最常被問到的一個問題是“如何入門演算法”。漸漸地,我對這個問題產生了濃厚的興趣。 兩眼一抹黑地刷題似乎是最受歡迎的方法,簡單、直接且有效。然而刷題就如同玩“踩地雷”遊戲,自學能 力強的人能夠順利將地雷逐個排掉,而基礎不足的人很可能被炸得焦頭爛額,並在挫折中步步退縮。通讀教 材也是一種常見做法,但對於面向求職的人來說,畢業論文、投遞履歷、準備筆試和面試已經消耗了大部分 attention.”從這個意義上看,這本 書並非完全“免費”。為了不辜負你為本書所付出的寶貴“注意力”,我會竭盡所能,投入最大的“注意力” 來完成本書的創作。 本人自知學疏才淺,書中內容雖然已經過一段時間的打磨,但一定仍有許多錯誤,懇請各位老師與同學批評 指正。 本書中的程式碼附有可一鍵執行的原始檔,託管於 github.com/krahets/hello‑algo 倉庫。 動畫在 PDF 內的展示效果有限,可訪問 com 網頁版以獲得更佳的閱讀體驗。 推薦語 “一本通俗易懂的資料結構與演算法入門書,引導讀者手腦並用地學習,強烈推薦演算法初學者閱讀!” ——鄧俊輝,清華大學計算機系教授 “如果我當年學資料結構與演算法時有《Hello 演算法》,學起來應該會簡單 10 倍!” ——李沐,亞馬遜資深首席科學家 電腦的出現為世界帶來了巨大的變革,它憑藉高速的運算能力與卓越的可程式化特性,成為執行演算法 與處0 码力 | 379 页 | 18.78 MB | 10 月前3
2019-2021 美团技术年货 前端篇在线上可以实现接近 Web 的触达效率:应用会在启动时和具 体业务入口处发起更新请求,每当业务有动态发布,新版本页面即可在用户下一次打 开时触达至用户。在加载性能方面,二级缓存加持下的页面加载时间仅为数十毫秒, 而远程加载的时间也只有 1 秒左右。 4.3 准 细粒度动态化 准,指哪打哪,可以页面级动态化,也可以局部 Widget 级别的细粒度动态化。事实 上在 Flutter 的世界中,“页面”本身也是一个 需求评审分为主打需求、非主打需求和统计需求。 ○ 主打需求:客户端开发 10d 之前进行评审,评审 8d 后 UI 提供初稿,评审 14d 后 UI 定稿。 ○ 非主打需求:两个三方评审窗口,窗口 1 为窗口 2 的前 5d,窗口 2 为上一 版本二轮测试地一天,UI 定稿需要在客户端开发第一周内完成。 2. 统计需求:需求收集截止到立项评审前一天,三方评审为非主打需求评审后第 件 总计 40+;涉及双版本并行开发,仓库代码管理复杂。 原有版本迭代流程,版本各阶段的所有事件都由相应负责人执行。 1. 分支创建、版本降级检查、每日 QA 包号周知,仓库集成及基础库同步、打 包,提测邮件等都由迭代工程小组人员负责执行。 2. 仓库拉出 Release 分支,提审灰度后分支合并、集成、发版由外卖各仓库负 责人负责执行。 3. 周迭代、迭代、一轮、二轮、三轮提测阶段冒烟周知,则通过排班的形式,0 码力 | 738 页 | 50.29 MB | 1 年前3
JavaScript 正则表达式迷你书 老姚 - v1.1"无效的正则表达式"; return false; } } })(); 7.4. 本章小结 相关 API 的注意点,本章基本上算是一网打尽了。 至此,恭喜你,你学完了 JavaScript 正则表达式的所有内容。 JavaScript 正则表达式迷你书 7. 第七章 正则表达式编程 | 第 77 页 后记 我竟然写了一本书!想想就挺开心的。0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0"无效的正则表达式"; return false; } } })(); 7.4. 本章小结 相关 API 的注意点,本章基本上算是一网打尽了。 至此,恭喜你,你学完了 JavaScript 正则表达式的所有内容。 JavaScript 正则表达式迷你书 7. 第七章 正则表达式编程 | 第 77 页 后记 我竟然写了一本书!想想就挺开心的。0 码力 | 89 页 | 3.42 MB | 11 月前3
阮一峰 JavaScript 教程vaScript 返回的 字符串长度可能是不正确的。 有时,文本里面包含一些不可打印的符号,比如 ASCII 码0到31的符 号都无法打印出来,这时可以使用 Base64 编码,将它们转成可以打 Base64 转码 字符串 - 91 - 本文档使用 书栈(BookStack.CN) 构建 印的字符。另一个场景是,有时需要以文本格式传递二进制数据,那么 也可以使用 Base64 编码。 2 16. // "hi bob" 上面代码根据参数的不同,显示 bob 执行了两次, alice 执行了一 次。 dir 方法用来对一个对象进行检查(inspect),并以易于阅读和打 印的格式显示。 1. console.log({f1: 'foo', f2: 'bar'}) 2. // Object {f1: "foo", f2: "bar"} 3. 4. console0 码力 | 540 页 | 3.32 MB | 10 月前3
Hello 算法 1.0.0b1 JavaScript版hello‑algo.com 146 Figure 9‑10. 图的广度优先遍历步骤 � 广度优先遍历的序列是否唯一? 不唯一。广度优先遍历只要求“由近及远”,而多个相同距离的顶点的遍历顺序允许被任意打 乱。以上图为例,顶点 1 , 3 的访问顺序可以交换、顶点 2 , 4 , 6 的访问顺序也可以任意交换、 以此类推⋯⋯ 复杂度分析 时间复杂度:所有顶点都会入队、出队一次,使用 ?(|? |)0 码力 | 185 页 | 14.70 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings 页 面, 搜 索 Clang_format_fallback Style 代 码 格 式 化 选 项, 设 置 为 { BasedOnStyle: Microsoft, BreakBeforeBraces:0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings 页 面, 搜 索 Clang_format_fallback Style 代 码 格 式 化 选 项, 设 置 为 { BasedOnStyle: Microsoft, BreakBeforeBraces:0 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.0.0b5 JavaScript版系统需要安装 MinGW(配置教程),MacOS 自带 Clang 无须安装。 2. 在 VSCode 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings 页 面, 搜 索 Clang_format_fallback Style 代 码 格 式 化 选 项, 设 置 为 { BasedOnStyle: Microsoft, BreakBeforeBraces:0 码力 | 375 页 | 30.68 MB | 1 年前3
Hello 算法 1.0.0 JavaScript版系统需要安装 MinGW(配置教程);MacOS 自带 Clang ,无须安装。 2. 在 VS Code 的插件市场中搜索 c++ ,安装 C/C++ Extension Pack 。 3.(可 选) 打 开 Settings 页 面, 搜 索 Clang_format_fallback Style 代 码 格 式 化 选 项, 设 置 为 { BasedOnStyle: Microsoft, BreakBeforeBraces:0 码力 | 376 页 | 17.57 MB | 1 年前3
共 11 条
- 1
- 2













