Hello 算法 1.1.0 Python版一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的0 码力 | 364 页 | 18.42 MB | 1 年前3
Hello 算法 1.0.0 Python版间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数 在算法设计中,我们先后追求以下两个层面的目标。 1. 找到问题解法:算法需要在规定的输入范围内可靠地求得问题的正确解。 2. 寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。 也就是说,在能够解决问题的前提下,算法效率已成为衡量算法优劣的主要评价指标,它包括以下两个维 度。 ‧ 时间效率:算法运行速度的快慢。 ‧ 空间效率:算法占用内存空间的大小。 简而言之,我们的目标是设计“既快又省0 码力 | 362 页 | 17.54 MB | 1 年前3
Hello 算法 1.0.0b4 Python版各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2. 数据结构定义 「数据结构 Data Structure」是计算机中组织和存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计目标包括: ‧ 空间占用尽量减少,节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 1. 初识算法 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 Figure 1‑5. 拼装积木 两者的详细对应关系如下表所示。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得注意的是,数据结构与算法独立于编程语言。正因如此,本书得以提供多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将「数据结构与算法」简称为「算法」。例如,众所周知的 从总体上看,算法设计追求以下两个层面的目标: 1. 找到问题解法。算法需要在规定的输入范围内,可靠地求得问题的正确解。 2. 寻求最优解法。同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。 因此,在能够解决问题的前提下,算法效率成为主要的评价维度,主要包括: ‧ 时间效率,即算法运行速度的快慢。 ‧ 空间效率,即算法占用内存空间的大小。 简而言之,我们的目标是设计“既快又省”的数据结构0 码力 | 329 页 | 27.34 MB | 1 年前3
Hello 算法 1.0.0b5 Python版具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量减少,节省计算机内存。 第 1 章 初识算法 hello‑algo.com 13 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结 在算法设计中,我们先后追求以下两个层面的目标。 1. 找到问题解法:算法需要在规定的输入范围内,可靠地求得问题的正确解。 2. 寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。 也就是说,在能够解决问题的前提下,算法效率已成为衡量算法优劣的主要评价指标,它包括以下两个维 度。 ‧ 时间效率:算法运行速度的快慢。 ‧ 空间效率:算法占用内存空间的大小。 简而言之,我们的目标是设计“既快又0 码力 | 361 页 | 30.64 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Python 版一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的0 码力 | 364 页 | 18.43 MB | 10 月前3
Hello 算法 1.0.0b1 Python版乐高」类比到「数据结构与算法」,那么可以得到下表所示的对应关系。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 1. 引言 hello‑algo.com 11 � 约定俗成的简称 在实际讨论中,我们通常会将「数据结构与算法」直接简称为「算法」。例如,我们熟称的 的流程步骤对应算法。 12 2. 复杂度分析 2.1. 算法效率评估 2.1.1. 算法评价维度 在开始学习算法之前,我们首先要想清楚算法的设计目标是什么,或者说,如何来评判算法的好与坏。整体上 看,我们设计算法时追求两个层面的目标。 1. 找到问题解法。算法需要能够在规定的输入范围下,可靠地求得问题的正确解。 2. 寻求最优解法。同一个问题可能存在多种解法,而我们希望算法效率尽可能的高。 * 以 LeetCode 全站第一题 两数之和 为例。 2. 复杂度分析 hello‑algo.com 33 � 两数之和 给定一个整数数组 nums 和一个整数目标值 target ,请你在该数组中找出“和”为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 「暴力枚举」和「辅助哈希表」分别对应0 码力 | 178 页 | 14.67 MB | 1 年前3
Hello 算法 1.0.0b2 Python版乐高」类比到「数据结构与算法」,那么可以得到下表所示的对应关系。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 1. 引言 hello‑algo.com 11 � 约定俗成的简称 在实际讨论中,我们通常会将「数据结构与算法」直接简称为「算法」。例如,我们熟称的 的流程步骤对应算法。 12 2. 复杂度分析 2.1. 算法效率评估 2.1.1. 算法评价维度 在开始学习算法之前,我们首先要想清楚算法的设计目标是什么,或者说,如何来评判算法的好与坏。整体上 看,我们设计算法时追求两个层面的目标。 1. 找到问题解法。算法需要能够在规定的输入范围下,可靠地求得问题的正确解。 2. 寻求最优解法。同一个问题可能存在多种解法,而我们希望算法效率尽可能的高。 * 以 LeetCode 全站第一题 两数之和 为例。 2. 复杂度分析 hello‑algo.com 33 � 两数之和 给定一个整数数组 nums 和一个整数目标值 target ,请你在该数组中找出“和”为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 「暴力枚举」和「辅助哈希表」分别对应0 码力 | 186 页 | 15.69 MB | 1 年前3
Python 标准库参考指南 3.13 式帮助系统。如果实参是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字 符串,并在控制台上打印帮助信息。如果实参是其他任意对象,则会生成该对象的帮助页。 请注意,如果在调用help() 时,目标函数的形参列表中存在斜杠(/),则意味着斜杠之前的参数 只能是位置参数。详情请参阅 有关仅限位置形参的 FAQ 条目。 该函数通过site 模块加入到内置命名空间。 在 3.4 版本发生变更: pydoc (通过导入builtins 模块并赋值给 builtins. __import__) 以便修改 import 语句的语义,但是 强烈不建议这样做,因为使用导入钩子 (参见 PEP 302) 通常更容易实现同样的目标,并且不会导致代码问题,因为许多代码都会假定所用的是 默认实现。同样也不建议直接使用__import__() 而应该用importlib.import_module()。 本函数会导入模块 name,利用 [byte_length//new_itemsize],这意味 着结果视图将是一维的。返回值是一个新的内存视图,但缓冲区本身不会被复制。支持的转 化有 1D -> C-contiguous 和 C-contiguous -> 1D。 目标格式被限制为struct 语法中的单一元素的原生格式。这些格式中的一种必须为字节格式 (’B’, ’b’ 或’c’)。结果的字节长度必须与原始长度相同。请注意全部字节长度可能取决于具体操 作系统。0 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.13 式帮助系统。如果实参是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字 符串,并在控制台上打印帮助信息。如果实参是其他任意对象,则会生成该对象的帮助页。 请注意,如果在调用help() 时,目标函数的形参列表中存在斜杠(/),则意味着斜杠之前的参数 只能是位置参数。详情请参阅 有关仅限位置形参的 FAQ 条目。 该函数通过site 模块加入到内置命名空间。 在 3.4 版本发生变更: pydoc (通过导入builtins 模块并赋值给 builtins. __import__) 以便修改 import 语句的语义,但是 强烈不建议这样做,因为使用导入钩子 (参见 PEP 302) 通常更容易实现同样的目标,并且不会导致代码问题,因为许多代码都会假定所用的是 默认实现。同样也不建议直接使用__import__() 而应该用importlib.import_module()。 本函数会导入模块 name,利用 [byte_length//new_itemsize],这意味 着结果视图将是一维的。返回值是一个新的内存视图,但缓冲区本身不会被复制。支持的转 化有 1D -> C-contiguous 和 C-contiguous -> 1D。 目标格式被限制为struct 语法中的单一元素的原生格式。这些格式中的一种必须为字节格式 (’B’, ’b’ 或’c’)。结果的字节长度必须与原始长度相同。请注意全部字节长度可能取决于具体操 作系统。0 码力 | 2242 页 | 11.73 MB | 9 月前3
Python 标准库参考指南 3.12 式帮助系统。如果实参是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字 符串,并在控制台上打印帮助信息。如果实参是其他任意对象,则会生成该对象的帮助页。 请注意,如果在调用help() 时,目标函数的形参列表中存在斜杠(/),则意味着斜杠之前的参数 只能是位置参数。详情请参阅 有关仅限位置形参的 FAQ 条目。 该函数通过site 模块加入到内置命名空间。 在 3.4 版本发生变更: pydoc 强烈不建议这样做,因为使用导入钩子 (参见 28 Chapter 2. 内置函数 The Python Library Reference, 发行版本 3.12.7 PEP 302) 通常更容易实现同样的目标,并且不会导致代码问题,因为许多代码都会假定所用的是 默认实现。同样也不建议直接使用__import__() 而应该用importlib.import_module()。 本函数会导入模块 name,利用 [byte_length//new_itemsize],这意味 着结果视图将是一维的。返回值是一个新的内存视图,但缓冲区本身不会被复制。支持的转 化有 1D -> C-contiguous 和 C-contiguous -> 1D。 目标格式被限制为struct 语法中的单一元素的原生格式。这些格式中的一种必须为字节格式 (’B’, ’b’ 或’c’)。结果的字节长度必须与原始长度相同。请注意全部字节长度可能取决于具体操 作系统。0 码力 | 2253 页 | 11.81 MB | 9 月前3
共 108 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11













