Hello 算法 1.0.0b1 TypeScript 版的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中步步退缩。通读教 材书籍也是常用方法,但对于面向求职的同学来说,毕业季、投递简历、应付笔面试已经占用大部分精力,厚 重的书本也因此成为巨大的挑战。 如果你也有上述烦恼,那么很幸运这本书找到了你。本书是我对于该问题给出的答案,虽然不一定正确,但至 少代表一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知识地 在各种机 器上展开测试,而这是不现实的。 展开完整测试非常耗费资源。随着输入数据量的大小变化,算法会呈现出不同的效率表现。比如,有可能输入 数据量较小时,算法 A 运行时间短于算法 B ,而在输入数据量较大时,测试结果截然相反。因此,若想要达 到具有说服力的对比结果,那么需要输入各种体量数据,这样的测试需要占用大量计算资源。 理论估算 既然实际测试具有很大的局限性,那么我们是否可以仅通 算法性能。 如果感觉对复杂度分析的概念一知半解,无需担心,后续章节会展开介绍。 2.1.3. 复杂度分析重要性 复杂度分析给出一把评价算法效率的“标尺”,告诉我们执行某个算法需要多少时间和空间资源,也让我们可 以开展不同算法之间的效率对比。 复杂度是个数学概念,对于初学者可能比较抽象,学习难度相对较高。从这个角度出发,其并不适合作为第一 章内容。但是,当我们讨论某个数据结构或者算法的特0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在挫折中步步退缩。通读教材 书籍也是一种常见做法,但对于面向求职的同学来说,毕业季、投递简历、准备笔试面试已经占据了大部分 精力,厚重的书籍往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对此问题的给出的答案,即使不是最优解, 也至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知 在各种机器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 更少;而输入数据量较大时,测试结果可能恰恰相反。因此,为 了得到有说服力的结论,我们需要测试各种规模的输入数据,而这需要耗费大量的计算资源。 2.1.2 理论估算 由于实际测试具有较大的局限性,我们可以考虑仅 asymptotic complexity analysis」,简称「复杂度分析」。 复杂度分析体现算法运行所需的时间(空间)资源与输入数据大小之间的关系。它描述了随着输入数据大小 的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应「时间复杂度 time complexity」和「空间复杂度 space complexity」。 ‧0 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输入数据量较大时,测试结果可能恰恰相反。因此,为 了得到有说服力的结论,我们需要测试各种规模的输入数据,而这需要耗费大量的计算资源。 2.1.2 理论估算 由于实际测试具有较大的局限性,因此我们可以考 为渐近复杂度分析(asymptotic complexity analysis),简称复杂度分析。 复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。它描述了随着输入数据大 小的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应时间复杂度(time complexity)和空间复杂度(space complexity)。 ‧“随0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 试,统计 平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输入数据量较大时,测试结果可能恰恰相反。因此,为 了得到有说服力的结论,我们需要测试各种规模的输入数据,而这需要耗费大量的计算资源。 2.1.2 理论估算 由于实际测试具有较大的局限性,因此我们可以考 为渐近复杂度分析(asymptotic complexity analysis),简称复杂度分析。 复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。它描述了随着输入数据大 小的增加,算法执行所需时间和空间的增长趋势。这个定义有些拗口,我们可以将其分为三个重点来理解。 ‧“时间和空间资源”分别对应时间复杂度(time complexity)和空间复杂度(space complexity)。 ‧“随0 码力 | 383 页 | 18.49 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 TypeScript 版力強的人能夠順利將地雷逐個排掉,而基礎不足的人很可能被炸得焦頭爛額,並在挫折中步步退縮。通讀教 材也是一種常見做法,但對於面向求職的人來說,畢業論文、投遞履歷、準備筆試和面試已經消耗了大部分 精力,啃厚重的書往往變成了一項艱鉅的挑戰。 如果你也面臨類似的困擾,那麼很幸運這本書“找”到了你。本書是我對這個問題給出的答案,即使不是最 佳解,也至少是一種積極的嘗試。本書雖然不足以讓你直接拿到 Offer,但會引導你探索資料結構與演算法 略。 1. 將物品按照單位價值從高到低進行排序。 2. 走訪所有物品,每輪貪婪地選擇單位價值最高的物品。 第 15 章 貪婪 www.hello‑algo.com 355 3. 若剩餘背包容量不足,則使用當前物品的一部分填滿背包。 圖 15‑5 分數背包問題的貪婪策略 2. 程式碼實現 我們建立了一個物品類別 Item ,以便將物品按照單位價值進行排序。迴圈進行貪婪選擇,當背包已滿時跳出 若剩餘容量充足,則將當前物品整個裝進背包 res += item.v; cap -= item.w; 第 15 章 貪婪 www.hello‑algo.com 356 } else { // 若剩餘容量不足,則將當前物品的一部分裝進背包 res += (item.v / item.w) * cap; // 已無剩餘容量,因此跳出迴圈 break; } } return res; } 除0 码力 | 384 页 | 18.80 MB | 10 月前3
TypeScript Handbook(中文版)
)" DestinationFolder="$(MSBuildProjectDirectory)\Scripts" 现在,在工程上右击选择重新加载项目。 此时应当能在解决方案资源管理器 (Solution Explorer)中看到 node_modules 。 用 TypeScript 写一个简单的 Angular 应用 首先,将 app.ts 改成: import tslint.json 保存了要使用的代码检查器的设置,TSLint。 package.json 包含了依赖,还有一些命令的快捷方式,如测试命令,预览 命令和发布应用的命令。 public 包含了静态资源如HTML页面或图片。除了 index.html 文件外,其 它的文件都可以删除。 src 包含了TypeScript和CSS源码。 index.tsx 是强制使用的入口文件。 运行工程 TypeScript 2.0 模块名称中的通配符 以前使用模块加载器(例如AMD和SystemJS)导入没有代码的资源是不容易的。 之前,必须为每个资源定义一个外部模块声明。 TypeScript 2.0支持使用通配符符号( * )定义一类模块名称。这种方式,一个声 明只需要一次扩展名,而不再是每一个资源。 示例 declare module "*!text" { const content:0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
DestinationFolder="$(MSBuildProjectDirectory)\Scripts"/> 9. 现在,在工程上右击选择重新加载项目。 此时应当能在解决方案资源管理器(Solution Explorer)中看到 node_modules 。 添加 CopyFiles 到 build 中 ASP.NET 4 - 35 - 本文档使用 书栈网 · BookStack tslint.json 保存了要使用的代码检查器的设置,TSLint。 package.json 包含了依赖,还有一些命令的快捷方式,如测试命令,预览命令和发布应用的命 令。 public 包含了静态资源如HTML页面或图片。除了 index.html 文件外,其它的文件都可以删 除。 src 包含了TypeScript和CSS源码。 index.tsx 是强制使用的入口文件。 通过下面的方式即可轻松地运行这个工程。 boolean false 禁止对同一个文件的不一致的引用。 —generateCpuProfile string profile.cpuprofile 在指定目录生成CPU资源使用报告。若传入的是已创建的目录名,将在此目录下生成以时间戳命名的报告。 —help -h 打印帮助信息。 —importHelpers string 从 tslib 导入辅助工具函数(比如0 码力 | 683 页 | 6.27 MB | 1 年前3
共 7 条
- 1













