Hello 算法 1.1.0 TypeScript版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 Tip 如果你对数据结构、算法、数组和二分查找等概 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使我们能够通过编程将 数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题转 移到计算机上,以更高效的方式解决各种复杂问题。 � 如果你对数据结构、算法、数组和二分查找等概念仍感到一知半解,请继续往下阅读,这本书 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量减少,节省计算机内存。 第 1 章 初识算法 hello‑algo.com 13 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及用于操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构进行实现,并往往有对应最优的数据结构,但最终执行效率可能相 差很大。 图 1‑40 码力 | 378 页 | 30.70 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 Tip 如果你对数据结构、算法、数组和二分查找等概 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法为数据结构注入生命力。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 383 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0b1 TypeScript 版内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划 是一个已排序的「数组」;而从算法角度,我们可将上述查字典的一系列指令看作是「二分查找」算法。 小到烹饪一道菜、大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现,使我们可以通过编程将 数据结构存储在内存中,也可以编写代码来调用 CPU, GPU 执行算法,从而将生活中的问题搬运到计算机中, 更加高效地解决各式各样的复杂问题。 � 读到这里,如果你感到对数据结构、算法、数组、二分查找等此类概念一知半解,那么就太好 具有可行性,可在有限步骤、有限时间、有限内存空间下完成。 ‧ 独立于编程语言,即可用多种语言实现。 1.2.2. 数据结构定义 「数据结构 Data Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 100 码力 | 186 页 | 14.71 MB | 1 年前3
TypeScript Handbook(中文版)
Handbook(中文版) 8 快速上手 让我们使用TypeScript来创建一个简单的Web应用。 安装TypeScript 有两种主要的方式来获取TypeScript工具: 通过npm(Node.js包管理器) 安装Visual Studio的TypeScript插件 Visual Studio 2017和Visual Studio 2015 Update 3默认包含了TypeScript。 如果你 DestinationFolder="$(MSBuildProjectDirectory)\Scripts" 现在,在工程上右击选择重新加载项目。 此时应当能在解决方案资源管理器 (Solution Explorer)中看到 node_modules 。 用 TypeScript 写一个简单的 Angular 应用 首先,将 app.ts 改成: import 我们需要Knockout和RequireJS。 RequireJS是一个库,它可以让我们在运行时异 步地加载模块。 有以下几种获取方式: 1. 手动下载文件并维护它们。 2. 通过像Bower这样的包管理下载并维护它们。 3. 使用内容分发网络(CDN)来维护这两个文件。 我们使用第一种方法,它会简单一些,但是Knockout的官方文档上有讲解如何使用 CDN,更多像RequireJS一样的代码库可以在cdnjs上查找。0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
本文档使用 书栈网 · BookStack.CN 构建 让我们使用TypeScript来创建一个简单的Web应用。 有两种主要的方式来获取TypeScript工具: 通过npm(Node.js包管理器) 安装Visual Studio的TypeScript插件 Visual Studio 2017和Visual Studio 2015 Update 3默认包含了TypeScript。 如果你的 DestinationFolder="$(MSBuildProjectDirectory)\Scripts"/> 9. 现在,在工程上右击选择重新加载项目。 此时应当能在解决方案资源管理器(Solution Explorer)中看到 node_modules 。 添加 CopyFiles 到 build 中 ASP.NET 4 - 35 - 本文档使用 书栈网 · BookStack 我们需要Knockout和RequireJS。 RequireJS是一个库,它可以让我们在运行时异步地加载模块。 有以下几种获取方式: 1. 手动下载文件并维护它们。 2. 通过像Bower这样的包管理下载并维护它们。 3. 使用内容分发网络(CDN)来维护这两个文件。 我们使用第一种方法,它会简单一些,但是Knockout的官方文档上有讲解如何使用CDN,更多像 RequireJS一样的代码库可以在cdnjs上查找。0 码力 | 683 页 | 6.27 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 TypeScript 版訪問記憶體中的資料。 圖 3‑2 記憶體條、記憶體空間、記憶體位址 Tip 值得說明的是,將記憶體比作 Excel 表格是一個簡化的類比,實際記憶體的工作機制比較複雜,涉及 位址空間、記憶體管理、快取機制、虛擬記憶體和物理記憶體等概念。 記憶體是所有程式的共享資源,當某塊記憶體被某個程式佔用時,則通常無法被其他程式同時使用了。因此 在資料結構與演算法的設計中,記憶體資源是一個重要的考慮 啟新的網頁,瀏覽器就會對上一個網頁執 行入堆疊,這樣我們就可以通過後退操作回到上一個網頁。後退操作實際上是在執行出堆疊。如果要同 時支持後退和前進,那麼需要兩個堆疊來配合實現。 ‧ 程式記憶體管理。每次呼叫函式時,系統都會在堆疊頂新增一個堆疊幀,用於記錄函式的上下文資訊。 在遞迴函式中,向下遞推階段會不斷執行入堆疊操作,而向上回溯階段則會不斷執行出堆疊操作。 第 5 章 堆疊與佇列 www 中彈出最近的操作,並將其壓入堆疊 B 。 3. 當用戶執行“反撤銷”時,從堆疊 B 中彈出最近的操作,並將其壓入堆疊 A 。 112 第 6 章 雜湊表 Abstract 在計算機世界中,雜湊表如同一位聰慧的圖書管理員。 他知道如何計算索書號,從而可以快速找到目標圖書。 第 6 章 雜湊表 www.hello‑algo.com 113 6.1 雜湊表 雜湊表(hash table),又稱散列表,它透過建立鍵0 码力 | 384 页 | 18.80 MB | 10 月前3
共 7 条
- 1













