Hello 算法 1.1.0 Python版structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 ..., n-1, n while i <= n: res += i i += 1 # 更新条件变量 return res while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: 第 2 章 复杂度分析 hello‑algo.com py === def while_loop_ii(n: int) -> int: """while 循环(两次更新)""" res = 0 i = 1 # 初始化条件变量 # 循环求和 1, 4, 10, ... while i <= n: res += i # 更新条件变量 i += 1 i *= 2 return res 总的来说,for 循环的代码更加紧凑,while0 码力 | 364 页 | 18.42 MB | 1 年前3
Hello 算法 1.0.0 Python版structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 ..., n-1, n while i <= n: res += i i += 1 # 更新条件变量 return res while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: 第 2 章 复杂度分析 hello‑algo.com py === def while_loop_ii(n: int) -> int: """while 循环(两次更新)""" res = 0 i = 1 # 初始化条件变量 # 循环求和 1, 4, 10, ... while i <= n: res += i # 更新条件变量 i += 1 i *= 2 return res 总的来说,for 循环的代码更加紧凑,while0 码力 | 362 页 | 17.54 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Python 版操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 ..., n-1, n while i <= n: res += i i += 1 # 更新条件变量 return res while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: 第 2 章 复杂度分析 www.hello‑algo py === def while_loop_ii(n: int) -> int: """while 循环(两次更新)""" res = 0 i = 1 # 初始化条件变量 # 循环求和 1, 4, 10, ... while i <= n: res += i # 更新条件变量 i += 1 i *= 2 return res 总的来说,for 循环的代码更加紧凑,while0 码力 | 364 页 | 18.43 MB | 10 月前3
Hello 算法 1.0.0b1 Python版Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 若感到阅读困难,建议先看完下个章节「数组与链表」,再回过头来理解物理结构的含义。 「物理结构」反映了数据在计算机内存中的存储方式。从本质上看,分别是 数组的连续空间存储 和 链表的离散 空间存储。物理结构从底层上决定了数据的访问、更新、增删等操作方法,在时间效率和空间效率方面呈现出 此消彼长的特性。 3. 数据结构简介 hello‑algo.com 40 Figure 3‑4. 连续空间存储与离散空间存储 所有数据结构都 总结来看,数组的插入与删除操作有以下缺点: ‧ 时间复杂度高:数组的插入和删除的平均时间复杂度均为 ?(?) ,其中 ? 为数组长度。 ‧ 丢失元素:由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会被丢失。 ‧ 内存浪费:我们一般会初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元 素都是我们不关心的,但这样做同时也会造成内存空间的浪费。 4.1.3. 数组常用操作 数组遍历。以下介绍两种常用的遍历方法。0 码力 | 178 页 | 14.67 MB | 1 年前3
Hello 算法 1.0.0b2 Python版Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 若感到阅读困难,建议先看完下个章节「数组与链表」,再回过头来理解物理结构的含义。 「物理结构」反映了数据在计算机内存中的存储方式。从本质上看,分别是 数组的连续空间存储 和 链表的离散 空间存储。物理结构从底层上决定了数据的访问、更新、增删等操作方法,在时间效率和空间效率方面呈现出 此消彼长的特性。 3. 数据结构简介 hello‑algo.com 40 Figure 3‑4. 连续空间存储与离散空间存储 所有数据结构都 总结来看,数组的插入与删除操作有以下缺点: ‧ 时间复杂度高:数组的插入和删除的平均时间复杂度均为 ?(?) ,其中 ? 为数组长度。 ‧ 丢失元素:由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会被丢失。 ‧ 内存浪费:我们一般会初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元 素都是我们不关心的,但这样做同时也会造成内存空间的浪费。 4.1.3. 数组常用操作 数组遍历。以下介绍两种常用的遍历方法。0 码力 | 186 页 | 15.69 MB | 1 年前3
Hello 算法 1.0.0b5 Python版structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量减少,节省计算机内存。 第 1 章 初识算法 hello‑algo.com 13 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程。如果想要在某方面取得提升,往往需要在另一方面作出妥协。下面举 两个例子。 ‧ 链表相较于数组 ..., n-1, n while i <= n: res += i i += 1 # 更新条件变量 return res 在 while 循环中,由于初始化和更新条件变量的步骤是独立在循环结构之外的,因此它比 for 循环的自由度 更高。 例如在以下代码中,条件变量 ? 每轮进行了两次更新,这种情况就不太方便用 for 循环实现。 第 2 章 复杂度分析 hello‑algo.com iteration.py === def while_loop_ii(n: int) -> int: """while 循环(两次更新)""" res = 0 i = 1 # 初始化条件变量 # 循环求和 1, 4, ... while i <= n: res += i # 更新条件变量 i += 1 i *= 2 return res 总的来说,for 循环的代码更加紧凑,while 循0 码力 | 361 页 | 30.64 MB | 1 年前3
Hello 算法 1.0.0b4 Python版Structure」是计算机中组织和存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计目标包括: ‧ 空间占用尽量减少,节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 1. 初识算法 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程,这意味着要在某方面取得优势,往往需要在另一方面作出妥协。例如, 运行的程序很多并且缺少大量连续的内存空间,那么所选用的数据结构必须能够存储在离散的内存空间内。 「物理结构」反映了数据在计算机内存中的存储方式,可分为数组的连续空间存储和链表的离散空间存储。物 理结构从底层决定了数据的访问、更新、增删等操作方法,同时在时间效率和空间效率方面呈现出互补的特 点。 3. 数据结构 hello‑algo.com 38 Figure 3‑3. 连续空间存储与离散空间存储 所有数据结构都是基 总结来看,数组的插入与删除操作有以下缺点: ‧ 时间复杂度高:数组的插入和删除的平均时间复杂度均为 ?(?) ,其中 ? 为数组长度。 ‧ 丢失元素:由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会丢失。 ‧ 内存浪费:我们可以初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元素 都是我们不关心的,但这样做同时也会造成内存空间的浪费。 4.1.3. 数组常用操作 数组遍历。以下介绍两种常用的遍历方法。0 码力 | 329 页 | 27.34 MB | 1 年前3
Python 标准库参考指南 3.8.20 编写并以源码形式导入。有些模块提供专用于 Python 的接口, 例如打印栈追踪信息;有些模块提供专用于特定操作系统的接口,例如操作特定的硬件;另一些模块则提供 针对特定应用领域的接口,例如万维网。有些模块在所有更新和移植版本的 Python 中可用;另一些模块仅在 底层系统支持或要求时可用;还有些模块则仅当编译和安装 Python 时选择了特定配置选项时才可用。 本手册以” 从内到外” 的顺序组织:首先描述 class list([iterable]) 虽然被称为函数,list 实际上是一种可变序列类型,详情请参阅列表 和序列类型 --- list, tuple, range。 locals() 更新并返回表示当前本地符号表的字典。在函数代码块但不是类代码块中调用locals() 时将返回自 由变量。请注意在模块层级上,locals() 和globals() 是同一个字典。 14 Chapter 读取(默认) 'w' 写入,并先截断文件 'x' 排它性创建,如果文件已存在则失败 'a' 写入,如果文件存在则在末尾追加 'b' 二进制模式 't' 文本模式(默认) '+' 打开用于更新(读取与写入) 默认模式为 'r' (打开用于读取文本,与 'rt' 同义)。模式 'w+' 与 'w+b' 将打开文件并清空内容。 模式 'r+' 与 'r+b' 将打开文件并不清空内容。 正如在概述0 码力 | 2052 页 | 9.74 MB | 9 月前3
Python 标准库参考指南 3.7.13 编写并以源码形式导入。有些模块提供专用于 Python 的接口, 例如打印栈追踪信息;有些模块提供专用于特定操作系统的接口,例如操作特定的硬件;另一些模块则提供 针对特定应用领域的接口,例如万维网。有些模块在所有更新和移植版本的 Python 中可用;另一些模块仅在 底层系统支持或要求时可用;还有些模块则仅当编译和安装 Python 时选择了特定配置选项时才可用。 本手册以” 从内到外” 的顺序组织:首先描述 class list([iterable]) 虽然被称为函数,list 实际上是一种可变序列类型,详情请参阅列表 和序列类型 --- list, tuple, range。 locals() 更新并返回表示当前本地符号表的字典。在函数代码块但不是类代码块中调用locals() 时将返回自 由变量。请注意在模块层级上,locals() 和globals() 是同一个字典。 注解: 不要更改此 'r' 读取(默认) 'w' 写入,并先截断文件 'x' 排它性创建,如果文件已存在则失败 'a' 写入,如果文件存在则在末尾追加 'b' 二进制模式 't' 文本模式(默认) '+' 更新磁盘文件(读取并写入) 默认的模式是 'r' (打开并读取文本,同 'rt' )。对于二进制写入,'w+b' 模式打开并把文件截断 成 0 字节;'r+b' 则不会截断。 正如在概述 中提到的,Python0 码力 | 1961 页 | 9.14 MB | 9 月前3
Python 标准库参考指南 3.7.13 编写并以源码形式导入。有些模块提供专用于 Python 的接 口,例如打印栈追踪信息;有些模块提供专用于特定操作系统的接口,例如操作特定的硬件;另一些模 块则提供针对特定应用领域的接口,例如万维网。有些模块在所有更新和移植版本的 Python 中可用;另 一些模块仅在底层系统支持或要求时可用;还有些模块则仅当编译和安装 Python 时选择了特定配置选项 时才可用。 本手册以” 从内到外” 的顺序组织:首先描 class list([iterable]) 虽然被称为函数,list 实际上是一种可变序列类型,详情请参阅列表 和序列类型 --- list, tuple, range。 locals() 更新并返回表示当前本地符号表的字典。在函数代码块但不是类代码块中调用locals() 时将返 回自由变量。请注意在模块层级上,locals() 和globals() 是同一个字典。 注解: 不要更改此 'r' 读取(默认) 'w' 写入,并先截断文件 'x' 排它性创建,如果文件已存在则失败 'a' 写入,如果文件存在则在末尾追加 'b' 二进制模式 't' 文本模式(默认) '+' 更新磁盘文件(读取并写入) 默认的模式是 'r' (打开并读取文本,同 'rt' )。对于二进制写入,'w+b' 模式打开并把文件截 断成 0 字节;'r+b' 则不会截断。 正如在概述 中提到的,Python0 码力 | 1846 页 | 9.09 MB | 9 月前3
共 125 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













