Hello 算法 1.0.0 JavaScript版在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾宝、琦宝、飞宝为本书起了一个富有创意的名字,唤起大家写下第一行代码“Hello World!”的 美好回忆; ‧ 感谢校铨在知识产权方 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理手中的扑克牌,使其从小到大排列,实现流程如图 1‑2 所 示。 第 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU0 码力 | 376 页 | 17.57 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾宝、琦宝、飞宝为本书起了一个富有创意的名字,唤起大家写下第一行代码“Hello World!”的 美好回忆; ‧ 感谢校铨在知识产权方 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理手中的扑克牌,使其从小到大排列,实现流程如图 1‑2 所 示。 第 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读; ‧ 感谢腾宝、琦宝、飞宝为本书起了一个富有创意的名字,唤起大家写下第一行代码“Hello World!”的 美好回忆; ‧ 感谢校铨在知识产权方 不断重复步骤 1. 和步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理手中的扑克牌,使其从小到大排列,实现流程如图 1‑2 所 示。 第 初识算法 www.hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU0 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.0.0b5 JavaScript版在本书的创作过程中,我得到了许多人的帮助,包括但不限于: ‧ 感谢我在公司的导师李汐博士,在一次畅谈中您鼓励我“快行动起来”,坚定了我写这本书的决心。 ‧ 感谢我的女朋友泡泡作为本书的首位读者,从算法小白的角度提出许多宝贵建议,使得本书更适合新 手阅读。 ‧ 感谢腾宝、琦宝、飞宝为本书起了一个富有创意的名字,唤起大家写下第一行代码“Hello World!”的 美好回忆。 ‧ 感谢苏潼为本书设计了精美的封面和 的页码为止。 图 1‑1 查字典步骤 第 1 章 初识算法 hello‑algo.com 11 查阅字典这个小学生必备技能,实际上就是著名的二分查找算法。从数据结构的角度,我们可以把字典视为 一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作是“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理扑克牌,使其从小到大排列,实现流程如图 1‑2 所示。 1. 将扑 初识算法 hello‑algo.com 12 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使我们能够通过编程将 数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行0 码力 | 375 页 | 30.68 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 JavaScript 版在本書的創作過程中,我得到了許多人的幫助。 ‧ 感謝我在公司的導師李汐博士,在一次暢談中你鼓勵我“快行動起來”,堅定了我寫這本書的決心; ‧ 感謝我的女朋友泡泡作為本書的首位讀者,從演算法小白的角度提出許多寶貴建議,使得本書更適合 新手閱讀; ‧ 感謝騰寶、琦寶、飛寶為本書起了一個富有創意的名字,喚起大家寫下第一行程式碼“Hello World!” 的美好回憶; ‧ 感謝校銓在智慧財產 不斷重複步驟 1. 和步驟 2. ,直至找到拼音首字母為 ? 的頁碼為止。 圖 1‑1 查字典步驟 查字典這個小學生必備技能,實際上就是著名的“二分搜尋”演算法。從資料結構的角度,我們可以把字典 視為一個已排序的“陣列”;從演算法的角度,我們可以將上述查字典的一系列操作看作“二分搜尋”。 例二:整理撲克。我們在打牌時,每局都需要整理手中的撲克牌,使其從小到大排列,實現流程如圖 1‑2 所 示。 第 www.hello‑algo.com 13 圖 1‑3 貨幣找零過程 在以上步驟中,我們每一步都採取當前看來最好的選擇(儘可能用大面額的貨幣),最終得到了可行的找零方 案。從資料結構與演算法的角度看,這種方法本質上是“貪婪”演算法。 小到烹飪一道菜,大到星際航行,幾乎所有問題的解決都離不開演算法。計算機的出現使得我們能夠透過程 式設計將資料結構儲存在記憶體中,同時編寫程式碼呼叫 CPU 和0 码力 | 379 页 | 18.78 MB | 10 月前3
2019-2021 美团技术年货 前端篇性能优化探索与实践 36 设计稿(UI 视图)自动生成代码方案的探索 56 美团外卖终端容器无关化研发框架 74 一款可以让大型 iOS 工程编译速度提升 50% 的工具 96 从预编译的角度理解 Swift 与 Objective-C 及混编机制 108 美团民宿跨端复用框架设计与实践 165 美团跨端一体化富文本管理技术实践 186 前端 | 2020 202 移动端 Android 的实现入手,完成对鸿蒙的移植。 Flutter 在鸿蒙上的适配 如前文所述,要完成 Flutter 在新系统上的移植,我们需要完整实现 Flutter 嵌入层 要求的所有子模块,而从能力支持角度,渲染、交互以及其他必要的原生平台能力 是保证 Flutter 应用能够运行起来的最基本的要素,需要优先支持。接下来会依次进 行介绍。 1. 渲染流程打通 我们再来回顾一下 Flutter 出所有的多状态列表组件,并 允许用户对生成结果进行变更。比如上述送恋人的设计稿,产品可能约定每一个 item 70 > 2021年美团技术年货 都有选中态 / 非选中态两种状态,也可能是从业务角度考虑需要着重突出送恋人这个 item,这时每个 item 就只有一种确定的状态,这两种不同的产品逻辑在编写代码时 有不同的最优技术方案。 2.2 视图树转代码(DSL2Code) DSL 视图树只是生成代码的中间产物,还需要对0 码力 | 738 页 | 50.29 MB | 1 年前3
JavaScript 正则表达式迷你书 老姚 - v1.1第一章和第二章以这个角度去讲解了正则表达式的基础。 在正则可以使用括号捕获数据,要么在 API 中进行分组引用,要么在正则里进行反向引用。 这是第三章的主题,讲解了正则表达式中括号的作用。 学习正则,是需要了解其匹配原理的。 第四章,讲解了正则表达式的回溯法原理。 另外在第六章最后一节,也讲解了正则的表达式的整体工作原理。 不仅能看懂别人的正则,还要自己会写正则。 第五章,是从读的角度,去拆分一 第五章,是从读的角度,去拆分一个正则表达式,而第六章是从写的角度,去构建一个正则表达式。 学习正则,是为了在真实世界里应用的。 JavaScript 正则表达式迷你书 前言 | 第 4 页 第七章讲解了正则的用法,和相关 API 需要注意的地方。 虽然你可以直接阅读你想了解的任何一章,但我还是建议从头到尾地完整阅读。本书是迷你书,不厚的。 最好阅读两遍。第一遍,不求甚解地快速阅读一遍。阅读过程中遇到的问题不妨记录下来,也许阅读完毕后 答:你别看我匹配慢,但是我编译快啊,而且我还有趣哦。 JavaScript 正则表达式迷你书 4. 第四章 正则表达式回溯法原理 | 第 45 页 5. 第五章 正则表达式的拆分 对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。 不仅要求自己能解决问题,还要看懂别人的解决方案。代码是这样,正则表达式也是这样。 正则这门语言跟其他语言有一点不同,它通常就是一大堆字符,而没有所谓“语句”的概念。 如何能正0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0第一章和第二章以这个角度去讲解了正则表达式的基础。 在正则可以使用括号捕获数据,要么在 API 中进行分组引用,要么在正则里进行反向引用。 这是第三章的主题,讲解了正则表达式中括号的作用。 学习正则,是需要了解其匹配原理的。 第四章,讲解了正则表达式的回溯法原理。 另外在第六章最后一节,也讲解了正则的表达式的整体工作原理。 不仅能看懂别人的正则,还要自己会写正则。 第五章,是从读的角度,去拆分一 第五章,是从读的角度,去拆分一个正则表达式,而第六章是从写的角度,去构建一个正则表达式。 学习正则,是为了在真实世界里应用的。 JavaScript 正则表达式迷你书 前言 | 第 4 页 第七章讲解了正则的用法,和相关 API 需要注意的地方。 虽然你可以直接阅读你想了解的任何一章,但我还是建议从头到尾地完整阅读。本书是迷你书,不厚的。 最好阅读两遍。第一遍,不求甚解地快速阅读一遍。阅读过程中遇到的问题不妨记录下来,也许阅读完毕后 答:你别看我匹配慢,但是我编译快啊,而且我还有趣哦。 JavaScript 正则表达式迷你书 4. 第四章 正则表达式回溯法原理 | 第 45 页 5. 第五章 正则表达式的拆分 对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。 不仅要求自己能解决问题,还要看懂别人的解决方案。代码是这样,正则表达式也是这样。 正则这门语言跟其他语言有一点不同,它通常就是一大堆字符,而没有所谓“语句”的概念。 如何能正0 码力 | 89 页 | 3.42 MB | 11 月前3
Hello 算法 1.0.0b1 JavaScript版应用到日常生活中。接下来,我将介绍两个具体例子来佐证。 例一:拼积木。一套积木,除了有许多部件之外,还会附送详细的拼装说明书。我们按照说明书上一步步操作, 即可拼出复杂的积木模型。 如果从数据结构与算法的角度看,大大小小的「积木」就是数据结构,而「拼装说明书」上的一系列步骤就是 算法。 例二:查字典。在字典中,每个汉字都有一个对应的拼音,而字典是按照拼音的英文字母表顺序排列的。假设 需要在字典中查询任意一个拼音首字母为 的页码时终止。 1. 引言 hello‑algo.com 9 Figure 1‑1. 查字典步骤 查字典这个小学生的标配技能,实际上就是大名鼎鼎的「二分查找」。从数据结构角度,我们可以将字典看作 是一个已排序的「数组」;而从算法角度,我们可将上述查字典的一系列指令看作是「二分查找」算法。 小到烹饪一道菜、大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现,使我们可以通过编程将 数据结构存储在内存中,也可以编写代码来调用 复杂度分析给出一把评价算法效率的“标尺”,告诉我们执行某个算法需要多少时间和空间资源,也让我们可 以开展不同算法之间的效率对比。 复杂度是个数学概念,对于初学者可能比较抽象,学习难度相对较高。从这个角度出发,其并不适合作为第一 章内容。但是,当我们讨论某个数据结构或者算法的特点时,难以避免需要分析它的运行速度和空间使用情 况。因此,在展开学习数据结构与算法之前,建议读者先对复杂度建立起初步的了解,并且能够完成简单案例0 码力 | 185 页 | 14.70 MB | 1 年前3
JavaScript Promise迷你书(中文版)码分割保存在不同的文件应该是一个不错的选择。 promise和操作方法 在前面的 cancelableXHR 中,promise对象及其操作方法都是在一个对象中返回的,看 起来稍微有些不太好理解。 从代码组织的角度来说一个函数只返回一个值(promise对象)是一个非常好的习惯, 但是由于在外面不能访问 cancelableXHR 方法中创建的 req 变量,所以我们需要编写 一个专门的函数(上面的例子中的 Promise 迷你书(中文版) 94 module.exports = File; 新增加的 then 和 catch 都可以看做是指向内部保存的promise对象的别名,而其它部分 从对外接口的角度来说都没有改变,使用方法也和原来一样。 因此,在使用这个模块的时候我们只需要修改 require 的模块名即可。 var File = require("./fs-promise-chain");0 码力 | 112 页 | 1010.02 KB | 1 年前3
共 13 条
- 1
- 2













