Hello 算法 1.1.0 TypeScript版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 能够帮助到你! i 目 录 第 0 章 前言 1 0.1 关于本书 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 第 16 章 附录 366 16.1 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 16.2 一起参与创作 . .0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 能够帮助到你! i 目 录 第 0 章 前言 1 0.1 关于本书 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 第 16 章 附录 366 16.1 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 16.2 一起参与创作 . .0 码力 | 383 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0b5 TypeScript 版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 第 16 章 附录 369 16.1 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 16.2 一起参与创作 . . 助您回顾与梳理算法知识体系,仓库源代码可以 被当作“刷题工具库”或“算法字典”来使用。 若您是算法大神,我们期待收到您的宝贵建议,或者一起参与创作。 � 前置条件 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2 内容结构 本书主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度、空间复杂度的推算方法、常见类型、示 例等。 括号标注,例如「数组 array」 。建议记住它们,以便阅读文献。 ‧ 加粗的文字 表示重点内容或总结性语句,这类文字值得特别关注。 ‧ 当涉及到编程语言之间不一致的名词时,本书均以 Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0b1 TypeScript 版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 12. 附录 179 12.1. 编程环境安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 12.2. 一起参与创作 梳理算法知识 体系,仓库源代码可以被当作“刷题工具库”或“算法字典”来使用。 如果您是「算法大佬」,希望可以得到你的宝贵意见建议,或者一起参与创作。 � 前置条件 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 读文献时使用。 重点内容、总起句、总结句会被 加粗,此类文字值得特别关注。 专有名词和有特指含义的词句会使用“双引号” 标注,以避免歧义。 0. 写在前面 hello‑algo.com 4 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注释、内容 注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** *0 码力 | 186 页 | 14.71 MB | 1 年前3
TypeScript 类型系统TypeScript 泛型编程 19 泛型函数 泛型类 TypeScript 泛型编程 20 条件泛型 TypeScript 泛型编程 21 infer运算符在extends条件语句中表示待推测的类型量 TypeScript 泛型编程 22 其他的Utility Type工具类型…… StaticScript | 仿TypeScript静态类型编程语言 23 基础框架:Antlr0 码力 | 25 页 | 1.27 MB | 1 年前3
TypeScript 多场景设计方案及应用实践
Import TypeScript TS 我们都知道 TypeScript 的优势 12 3 类型描述 更更多的 Feature ⽀支持 ⾯面向接⼝口编程 TS 个⼈人开发⾯面向类型编码, 协作时⾯面向接⼝口编程 TS 开发时增加更更多接⼝口定义, 数据定义,参数定义 TS 跨协议转换 TS 进⼊入正题 进⼊入正题 我们是来解决问题的 TS Why is Midway0 码力 | 95 页 | 8.28 MB | 1 年前3
TypeScript Handbook(中文版)
document.body.innerHTML = greeter(user); 类 最后,让我们使用类来改写这个例子。 TypeScript支持JavaScript的新特性,比如 支持基于类的面向对象编程。 让我们创建一个 Student 类,它带有一个构造函数和一些公共字段。 注意类和接 口可以一起共作,程序员可以自行决定抽象的级别。 还要注意的是,在构造函数的参数上使用 public 等同于创建了同名的成员变量。 greeter(user); 重新运行 tsc greeter.ts ,你会看到生成的JavaScript代码和原先的一样。 TypeScript里的类只是JavaScript里常用的基于原型面向对象编程的简写。 运行TypeScript Web应用 在 greeter.html 里输入如下内容:TypeScript StoreState { languageName: string; enthusiasmLevel: number; } 这里我们想让 languageName 表示应用使用的编程语言(例如,TypeScript或者 JavaScript), enthusiasmLevel 是可变的。 在写我们的第一个容器的时候,就 会明白为什么要令state与props稍有不同。 添加actions 0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
document.body.textContent = greeter(user); 最后,让我们使用类来改写这个例子。 TypeScript支持JavaScript的新特性,比如支持基于类的 面向对象编程。 让我们创建一个 Student 类,它带有一个构造函数和一些公共字段。 注意类和接口可以一起共作, 程序员可以自行决定抽象的级别。 还要注意的是,在构造函数的参数上使用 public 等同于创建了同名的成员变量。 greeter(user); 重新运行 tsc greeter.ts ,你会看到生成的JavaScript代码和原先的一样。 TypeScript里的 类只是JavaScript里常用的基于原型面向对象编程的简写。 在 greeter.html 里输入如下内容: 1. 2. 3.TypeScript Greeter { 4. languageName: string; 5. enthusiasmLevel: number; 6. } 这里我们想让 languageName 表示应用使用的编程语言(例如,TypeScript或者 JavaScript), enthusiasmLevel 是可变的。 在写我们的第一个容器的时候,就会明白为什么要 令state与props稍有不同。0 码力 | 683 页 | 6.27 MB | 1 年前3
共 8 条
- 1













