Hello 算法 1.1.0 TypeScript版个汉字。在 GBK 的编码方案中,ASCII 字符使用一个字节表示,汉字使用两个字节表示。 第 3 章 数据结构 hello‑algo.com 61 3.4.3 Unicode 字符集 随着计算机技术的蓬勃发展,字符集与编码标准百花齐放,而这带来了许多问题。一方面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用 还处于发展早期,那时候使用 16 位的编码就足以表示所有的 Unicode 字符了。 ‧ C# 使用 UTF‑16 编码,主要是因为.NET 平台是由 Microsoft 设计的,而 Microsoft 的很多技术(包 括 Windows 操作系统)都广泛使用 UTF‑16 编码。 由于以上编程语言对字符数量的低估,它们不得不采取“代理对”的方式来表示超过 16 位长度的 Unicode 字符。这是一个 场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 的缓存结构是容量、速度和成本之间的最佳平衡点。 图 4‑9 计算机存储系统 第 4 章 数组与链表 hello‑algo.com 85 Note 计算机的存储层次结构体现了速度0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版GBK 的编码方案中,ASCII 字符使用一个字节表示,汉字使用两个字节表示。 第 3 章 数据结构 www.hello‑algo.com 61 3.4.3 Unicode 字符集 随着计算机技术的蓬勃发展,字符集与编码标准百花齐放,而这带来了许多问题。一方面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用 还处于发展早期,那时候使用 16 位的编码就足以表示所有的 Unicode 字符了。 ‧ C# 使用 UTF‑16 编码,主要是因为.NET 平台是由 Microsoft 设计的,而 Microsoft 的很多技术(包 括 Windows 操作系统)都广泛使用 UTF‑16 编码。 由于以上编程语言对字符数量的低估,它们不得不采取“代理对”的方式来表示超过 16 位长度的 Unicode 字符。这是一个 场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 的缓存结构是容量、速度和成本之间的最佳平衡点。 图 4‑9 计算机存储系统 第 4 章 数组与链表 www.hello‑algo.com 85 Tip 计算机的存储层次结构体现0 码力 | 383 页 | 18.49 MB | 11 月前3
Hello 算法 1.0.0b1 TypeScript 版写在前面 hello‑algo.com 2 Figure 0‑1. Hello 算法内容结构 0.1.3. 致谢 本书的成书过程中,我获得了许多人的帮助,包括但不限于: ‧ 感谢我的导师李博,在小酌畅谈时您告诉我“觉得应该做就去做”,坚定了我写这本书的决心。 ‧ 感谢我的女朋友泡泡担任本书的首位读者,从算法小白的视角提出了许多建议,使这本书更加适合初学 者来阅读。 ‧ 感谢腾宝、琦 。当然,堆排序一 般无需弹出元素,仅需每轮将堆顶元素交换至数组尾部并减小堆的长度即可。 ‧ 获取最大的 ? 个元素。这既是一道经典算法题目,也是一种常见应用,例如选取热度前 10 的新闻作为 微博热搜,选取前 10 销量的商品等。 8.2. 建堆操作 * 如果我们想要根据输入列表来生成一个堆,这样的操作被称为「建堆」。 8.2.1. 两种建堆方法 借助入堆方法实现 最直接地,考虑借 Undirected Graph」和「有向图 Directed Graph」。 ‧ 在无向图中,边表示两顶点之间“双向”的连接关系,例如微信或 QQ 中的“好友关系”; ‧ 在有向图中,边是有方向的,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上的 “关注”与“被关注”关系; 9. 图 hello‑algo.com 133 Figure 9‑2. 有向图与无向图0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版还处于相对早期的阶段,那时候使用 16 位的编码就足够表 示所有的 Unicode 字符了。 ‧ C# 使用 UTF‑16 编码,主要因为.NET 平台是由 Microsoft 设计的,而 Microsoft 的很多技术,包括 Windows 操作系统,都广泛地使用 UTF‑16 编码。 由于以上编程语言对字符数量的低估,它们不得不采取“代理对”的方式来表示超过 16 位长度的 Unicode 字符。这是一个 有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见后续的堆排序章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 在某些情况下,我们希望使用一个列表的所有元素来构建一个堆,这个过程被称为“建堆操作”。 8.2.1 自上而下构建 我们首先创建一个空堆, undirected graph」和「有向图 directed graph」。 ‧ 在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。 ‧ 在有向图中,边具有方向性,即 ? → ? 和 ? ← ? 两个方向的边是相互独立的,例如微博或抖音上 的“关注”与“被关注”关系。 第 9 章 图 hello‑algo.com 184 图 9‑2 有向图与无向图 根据所有顶点是否连通,可分为图0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 TypeScript 版有序資料。然而,我們通常會使用一種更優雅的方式實現堆積排序,詳見“堆積排序”章節。 ‧ 獲取最大的 ? 個元素:這是一個經典的演算法問題,同時也是一種典型應用,例如選擇熱度前 10 的新 聞作為微博熱搜,選取銷量前 10 的商品等。 8.2 建堆積操作 在某些情況下,我們希望使用一個串列的所有元素來構建一個堆積,這個過程被稱為“建堆積操作”。 8.2.1 藉助入堆積操作實現 我們首先建 graph)和有向圖(directed graph),如圖 9‑2 所示。 ‧ 在無向圖中,邊表示兩頂點之間的“雙向”連線關係,例如微信或 QQ 中的“好友關係”。 ‧ 在有向圖中,邊具有方向性,即 ? → ? 和 ? ← ? 兩個方向的邊是相互獨立的,例如微博或抖音上 的“關注”與“被關注”關係。 第 9 章 圖 www.hello‑algo.com 190 圖 9‑2 有向圖與無向圖 版的主頁上進行展示,以感謝他們對開源社群的無 私奉獻。 開源的魅力 紙質圖書的兩次印刷的間隔時間往往較久,內容更新非常不方便。 而在本開源書中,內容更迭的時間被縮短至數日甚至幾個小時。 1. 內容微調 如圖 16‑3 所示,每個頁面的右上角都有“編輯圖示”。您可以按照以下步驟修改文字或程式碼。 1. 點選“編輯圖示”,如果遇到“需要 Fork 此倉庫”的提示,請同意該操作。 2. 修改 Markdown0 码力 | 384 页 | 18.80 MB | 11 月前3
TypeScript 4.0 使用手册
一大波新的快速开始指南:React,Angular,Nodejs,ASP.NET Core,React Native, Vue,Glimmer,WeChat,Dojo2,Knockout等 如果觉得不错可以微信打赏哟 <3 TypeScript README - 7 - 本文档使用 书栈网 · BookStack.CN 构建 快速上手 5分钟了解TypeScript ASP.NET Core 记住,当你使用 any 时,你会失 去大多数TypeScript提供的错误检查和编译器支持。 如果你还是决定使用 Object 和 {} ,你应该选择 {} 。 虽说它们基本一样,但是从技术角度上 来讲 {} 在一些深奥的情况里比 Object 更普通。 TypeScript提供了一些检查来保证安全以及帮助分析你的程序。 当你将代码转换为了TypeScript 后,你可以启用这些检查来帮助你获得高度安全性。 必须要读一个数字枚举的运行时的值,这个值通常是很难读的 - 它并不能表达有用的信息(尽管反向 映射会有所帮助),字符串枚举允许你提供一个运行时有意义的并且可读的值,独立于枚举成员的名 字。 从技术的角度来说,枚举可以混合字符串和数字成员,但是似乎你并不会这么做: 1. enum BooleanLikeHeterogeneousEnum { 2. No = 0, 3. Yes0 码力 | 683 页 | 6.27 MB | 1 年前3
TypeScript 类型系统24 目标:基于静态分析寻找脆弱的Node.js代码 需要做的: 1. 改造TypeScript编译器 2. 搭建TypeScript静态分析框架 3. 设计实现基于静态污点分析的漏洞检测技术 4. 设计实现面向Node.js应用的安全测试框架 Q & A0 码力 | 25 页 | 1.27 MB | 1 年前3
TypeScript 多场景设计方案及应用实践
多场景开发实践 Best practices of TypeScript and Dev in Alibaba TypeScript 陈仲寅(花名:张挺) 就职于 阿⾥里里巴巴淘宝技术部 MidwayJS 团队 zhangting@taobao.com @czy88840616 https://github.com/czy88840616 @czy88840616 MidwayJS0 码力 | 95 页 | 8.28 MB | 1 年前3
TypeScript Handbook(中文版)
记住,当你使用 any 时,你会失去大多数TypeScript提供的错误检查和编译器支 持。 如果你还是决定使用 Object 和 {} ,你应该选择 {} 。 虽说它们基本一样,但 是从技术角度上来讲 {} 在一些深奥的情况里比 Object 更普通。 启用严格检查 TypeScript提供了一些检查来保证安全以及帮助分析你的程序。 当你将代码转换为 了TypeScript后0 码力 | 557 页 | 7.48 MB | 1 年前3
共 9 条
- 1













