Hello 算法 1.1.0 TypeScript版们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分 享你的见解,帮助他人进步。 图 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 com 23 return n + res; } 图 2‑3 展示了该函数的递归过程。 图 2‑3 求和函数的递归过程 虽然从计算角度看,迭代与递归可以得到相同的结果,但它们代表了两种完全不同的思考和解决问题的范 式。 ‧ 迭代:“自下而上”地解决问题。从最基础的步骤开始,然后不断重复或累加这些步骤,直到任务完成。 ‧ 递归:“自上而下”地解决问题。将原问题分解为更小的子问题,这些子问题和原问题具有相同的形式。0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版为你解答,一般情况下可在两天内回复。 第 0 章 前言 hello‑algo.com 7 如图 0‑6 所示,每篇文章的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解大家遇 到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分享您 的见解,帮助他人进步。 图 0‑6 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 程语言的排序 库函数中都存在插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 com 22 return n + res; } 图 2‑3 展示了该函数的递归过程。 图 2‑3 求和函数的递归过程 虽然从计算角度看,迭代与递归可以得到相同的结果,但它们代表了两种完全不同的思考和解决问题的范 式。 ‧ 迭代:“自下而上”地解决问题。从最基础的步骤开始,然后不断重复或累加这些步骤,直到任务完成。 ‧ 递归:“自上而下”地解决问题。将原问题分解为更小的子问题,这些子问题和原问题具有相同的形式。0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇到的问题,从而查漏补缺,激发更深入的思考。另一方面,期待你能慷慨地回答其他小伙伴的问题,分 享你的见解,帮助他人进步。 图 0‑7 评论区示例 0.2.5 算法学习路线 从总体上看,我们可以将学习数据结构与算法的过程划分为三个阶段。 编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 com 23 return n + res; } 图 2‑3 展示了该函数的递归过程。 图 2‑3 求和函数的递归过程 虽然从计算角度看,迭代与递归可以得到相同的结果,但它们代表了两种完全不同的思考和解决问题的范 式。 ‧ 迭代:“自下而上”地解决问题。从最基础的步骤开始,然后不断重复或累加这些步骤,直到任务完成。 ‧ 递归:“自上而下”地解决问题。将原问题分解为更小的子问题,这些子问题和原问题具有相同的形式。0 码力 | 383 页 | 18.49 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 TypeScript 版們將竭誠 為你解答,一般情況下可在兩天內回覆。 如圖 0‑7 所示,網頁版每個章節的底部都配有評論區。希望你能多關注評論區的內容。一方面,你可以瞭解 大家遇到的問題,從而查漏補缺,激發更深入的思考。另一方面,期待你能慷慨地回答其他小夥伴的問題,分 享你的見解,幫助他人進步。 圖 0‑7 評論區示例 0.2.5 演算法學習路線 從總體上看,我們可以將學習資料結構與演算法的過程劃分為三個階段。 程式語言的排 序庫函式中都有插入排序的身影。 例三:貨幣找零。假設我們在超市購買了 69 元的商品,給了收銀員 100 元,則收銀員需要找我們 31 元。他 會很自然地完成如圖 1‑3 所示的思考。 1. 可選項是比 31 元面值更小的貨幣,包括 1 元、5 元、10 元、20 元。 2. 從可選項中拿出最大的 20 元,剩餘 31 − 20 = 11 元。 3. 從剩餘可選項中拿出最大的 com 23 return n + res; } 圖 2‑3 展示了該函式的遞迴過程。 圖 2‑3 求和函式的遞迴過程 雖然從計算角度看,迭代與遞迴可以得到相同的結果,但它們代表了兩種完全不同的思考和解決問題的範 式。 ‧ 迭代:“自下而上”地解決問題。從最基礎的步驟開始,然後不斷重複或累加這些步驟,直到任務完成。 ‧ 遞迴:“自上而下”地解決問題。將原問題分解為更小的子問題,這些子問題和原問題具有相同的形式。0 码力 | 384 页 | 18.80 MB | 10 月前3
Hello 算法 1.0.0b1 TypeScript 版论区留下你的问题,小伙伴们和我都会给予解 答,您一般 2 日内会得到回复。 同时,也希望你可以多花时间逛逛评论区。一方面,可以看看大家遇到了什么问题,反过来查漏补缺,这往往 可以引起更加深度的思考。另一方面,也希望你可以慷慨地解答小伙伴们的问题、分享自己的见解,大家互相 学习与进步! Figure 0‑7. 评论区示例 0. 写在前面 hello‑algo.com 7 0.3. 小结 扩容机制,那么该次入栈操作的时间复杂度为 ?(?) 。 在链表实现中,链表的扩容非常灵活,不存在上述数组扩容时变慢的问题。然而,入栈操作需要初始化结点对 象并修改指针,因而效率不如数组。进一步地思考,如果入栈元素不是 int 而是结点对象,那么就可以省去初 始化步骤,从而提升效率。 综上所述,当入栈与出栈操作的元素是基本数据类型(例如 int , double )时,则结论如下: ‧ 数 2.4. 队列典型应用 ‧ 淘宝订单。购物者下单后,订单就被加入到队列之中,随后系统再根据顺序依次处理队列中的订单。在 双十一时,在短时间内会产生海量的订单,如何处理「高并发」则是工程师们需要重点思考的问题。 ‧ 各种待办事项。任何需要实现“先来后到”的功能,例如打印机的任务队列、餐厅的出餐队列等等。 5.3. 双向队列 对于队列,我们只能在头部删除或在尾部添加元素,而「双向队列 Deque」更加灵活,在其头部和尾部都能0 码力 | 186 页 | 14.71 MB | 1 年前3
TypeScript 4.0 使用手册
6 8. 7 9. 8 10. 9 还记得我们上面提到的捕获变量吗? 我们传给 setTimeout 的每一个函数表达式实际上都引用了相 同作用域里的同一个 i 。 让我们花点时间思考一下这是为什么。 setTimeout 在若干毫秒后执行一个函数,并且是 在 for 循环结束后。 for 循环结束后, i 的值为 10 。 所以当函数被调用的时候,它会打 印出 10 声明 let vs. const 变量声明 - 101 - 本文档使用 书栈网 · BookStack.CN 构建 不需要对它写入,那么其它使用这些代码的人也不能够写入它们,并且要思考为什么会需要对这些变量 重新赋值。 使用 const 也可以让我们更容易的推测数据的流动。 跟据你的自己判断,如果合适的话,与团队成员商议一下。 这个手册大部分地方都使用了 let 声明。0 码力 | 683 页 | 6.27 MB | 1 年前3
TypeScript Handbook(中文版)
数泛泛的问题一样,答案是:依情况而定。 使用最小特权原则,所有变量除了你计划去修改的都应该使用 const 。 基本原则 就是如果一个变量不需要对它写入,那么其它使用这些代码的人也不能够写入它 们,并且要思考为什么会需要对这些变量重新赋值。 使用 const 也可以让我们更 容易的推测数据的流动。 另一方面,用户很喜欢 let 的简洁性。 这个手册大部分地方都使用了 let 。 TypeScript0 码力 | 557 页 | 7.48 MB | 1 年前3
共 7 条
- 1













