Hello 算法 1.2.0 简体中文 Swift 版流可能会被分成多个缓冲块并放入一个环形链表,以便实现无缝播放。 第 4 章 数组与链表 www.hello‑algo.com 79 4.3 列表 列表(list)是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历 等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。 ‧ 链表天然可以看作一个列表,其支持元素增删查改操作,并且可以灵活动态扩容。 ‧ 数 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的 在开放寻址中删除元素导致的查询问题 为了解决该问题,我们可以采用懒删除(lazy deletion)机制:它不直接从哈希表中移除元素,而是利用一个 常量 TOMBSTONE 来标记这个桶。在该机制下,None 和 TOMBSTONE 都代表空桶,都可以放置键值对。但不同的 是,线性探测到 TOMBSTONE 时应该继续遍历,因为其之下可能还存在键值对。 然而,懒删除可能会加速哈希表的性能退化。这是因为每次删除操作都会产生一个删除标记,随着0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.1.0 Swift版流可能会被分成多个缓冲块并放入一个环形链表,以便实现无缝播放。 第 4 章 数组与链表 hello‑algo.com 79 4.3 列表 列表(list)是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历 等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。 ‧ 链表天然可以看作一个列表,其支持元素增删查改操作,并且可以灵活动态扩容。 ‧ 数 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的 在开放寻址中删除元素导致的查询问题 为了解决该问题,我们可以采用懒删除(lazy deletion)机制:它不直接从哈希表中移除元素,而是利用一个 常量 TOMBSTONE 来标记这个桶。在该机制下,None 和 TOMBSTONE 都代表空桶,都可以放置键值对。但不同的 是,线性探测到 TOMBSTONE 时应该继续遍历,因为其之下可能还存在键值对。 然而,懒删除可能会加速哈希表的性能退化。这是因为每次删除操作都会产生一个删除标记,随着0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Swift版流可能会被分成多个缓冲块并放入一个环形链表,以便实现无缝播放。 第 4 章 数组与链表 hello‑algo.com 79 4.3 列表 「列表 list」是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历 等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。 ‧ 链表天然可以看作一个列表,其支持元素增删查改操作,并且可以灵活动态扩容。 ‧ 数 ‧ 链表通过更改引用(指针)实现高效的节点插入与删除,且可以灵活调整长度;但节点访问效率低、占 用内存较多。常见的链表类型包括单向链表、环形链表、双向链表。 ‧ 列表是一种支持增删查改的元素有序集合,通常基于动态数组实现。它保留了数组的优势,同时可以灵 活调整长度。 ‧ 列表的出现大幅提高了数组的实用性,但可能导致部分内存空间浪费。 ‧ 程序运行时,数据主要存储在内存中。数组可提供更高的 为了解决该问题,我们可以采用「懒删除 lazy deletion」机制:它不直接从哈希表中移除元素,而是利用一 个常量 TOMBSTONE 来标记这个桶。在该机制下,None 和 TOMBSTONE 都代表空桶,都可以放置键值对。但不同 的是,线性探测到 TOMBSTONE 时应该继续遍历,因为其之下可能还存在键值对。 第 6 章 哈希表 hello‑algo.com 126 然而,懒删除可能会加速哈希0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Swift 版資料流可能會被分成多個緩衝塊並放入一個環形鏈結串列,以便實現無縫播放。 第 4 章 陣列與鏈結串列 www.hello‑algo.com 79 4.3 串列 串列(list)是一個抽象的資料結構概念,它表示元素的有序集合,支持元素訪問、修改、新增、刪除和走訪 等操作,無須使用者考慮容量限制的問題。串列可以基於鏈結串列或陣列實現。 ‧ 鏈結串列天然可以看作一個串列,其支持元素增刪查改操作,並且可以靈活動態擴容。 ‧ 鏈結串列透過更改引用(指標)實現高效的節點插入與刪除,且可以靈活調整長度;但節點訪問效率 低、佔用記憶體較多。常見的鏈結串列型別包括單向鏈結串列、環形鏈結串列、雙向鏈結串列。 ‧ 串列是一種支持增刪查改的元素有序集合,通常基於動態陣列實現。它保留了陣列的優勢,同時可以靈 活調整長度。 ‧ 串列的出現大幅提高了陣列的實用性,但可能導致部分記憶體空間浪費。 ‧ 程式執行時,資料主要儲存在記憶體中。陣列可提供更 hello‑algo.com 188 9.1 圖 圖(graph)是一種非線性資料結構,由頂點(vertex)和邊(edge)組成。我們可以將圖 ? 抽象地表示為一 組頂點 ? 和一組邊 ? 的集合。以下示例展示了一個包含 5 個頂點和 7 條邊的圖。 ? = {1, 2, 3, 4, 5} ? = {(1, 2), (1, 3), (1, 5), (2, 3), (2, 4), (2, 5)0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.0.0b5 Swift版hello‑algo.com 184 9.1 图 「图 graph」是一种非线性数据结构,由「顶点 vertex」和「边 edge」组成。我们可以将图 ? 抽象地表示为 一组顶点 ? 和一组边 ? 的集合。以下示例展示了一个包含 5 个顶点和 7 条边的图。 ? = {1, 2, 3, 4, 5} ? = {(1, 2), (1, 3), (1, 5), (2, 3), (2, 4), (2, 5) |? | ,因此使用 ?(|? |) 空 间。 第 9 章 图 hello‑algo.com 202 9.4 小结 1. 重点回顾 ‧ 图由顶点和边组成,可以被表示为一组顶点和一组边构成的集合。 ‧ 相较于线性关系(链表)和分治关系(树),网络关系(图)具有更高的自由度,因而更为复杂。 ‧ 有向图的边具有方向性,连通图中的任意顶点均可达,有权图的每条边都包含权重变量。 ‧ 邻接矩阵 回溯典型例题 回溯算法可用于解决许多搜索问题、约束满足问题和组合优化问题。 搜索问题:这类问题的目标是找到满足特定条件的解决方案。 ‧ 全排列问题:给定一个集合,求出其所有可能的排列组合。 ‧ 子集和问题:给定一个集合和一个目标和,找到集合中所有和为目标和的子集。 ‧ 汉诺塔问题:给定三个柱子和一系列大小不同的圆盘,要求将所有圆盘从一个柱子移动到另一个柱子, 每次只能移动一个圆盘,且不能将大圆盘放在小圆盘上。0 码力 | 376 页 | 30.70 MB | 1 年前3
CollectionKit Workshop - LukeUICollectionView的⼀一些概念 • ⽆无需Auto Layout,Storyboard • ⼀一点点⼏几何数学(计算⼤大⼩小,位置) CollectionKit • 代替UICollectionView。显示集合视图 • 数据驱动,更更简单更更⾼高效 • 提供了了布局和动画系统 • 为Swift设计,⽤用Swift实现 - Reimagining UICollectionView collectionView0 码力 | 50 页 | 21.43 MB | 1 年前3
如何打造一个让人愉快的框架 - 王巍文件 所支配的恐惧 什么是静态库 (STATIC LIBRARY) 什么是静态库 (STATIC LIBRARY) .a + .h 目标文件 (Object files, .o) 的 集合 配合若干头文件 (.h) 使用 链接到最终的可执行文 件中 在一些上了年头的第三 方库中可能还能见到 系统框架 .FRAMEWORK 什么是动态框架 (DYNAMIC FRAMEWORK)0 码力 | 84 页 | 21.57 MB | 1 年前3
Hello 算法 1.0.0b1 Swift版,非常高效。 136 9. 图 9.1. 图 「图 Graph」是一种非线性数据结构,由「顶点 Vertex」和「边 Edge」组成。我们可将图 ? 抽象地表示为一 组顶点 ? 和一组边 ? 的集合。例如,以下表示一个包含 5 个顶点和 7 条边的图 ? = {1, 2, 3, 4, 5} ? = {(1, 2), (1, 3), (1, 5), (2, 3), (2, 4), (2, 5) res ,哈希表 visited 顶点数量最多为 |? | ,递归深度最大为 |? | ,因此使用 ?(|? |) 空 间。 9.4. 小结 ‧ 图由顶点和边组成,可以表示为一组顶点和一组边构成的集合。 ‧ 相比线性关系(链表)和分治关系(树),网络关系(图)的自由度更高,也从而更为复杂。 ‧ 有向图的边存在方向,连通图中的任意顶点都可达,有权图的每条边都包含权重变量。 ‧ 邻接矩阵使用方0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Swift版,非常高效。 136 9. 图 9.1. 图 「图 Graph」是一种非线性数据结构,由「顶点 Vertex」和「边 Edge」组成。我们可将图 ? 抽象地表示为一 组顶点 ? 和一组边 ? 的集合。例如,以下表示一个包含 5 个顶点和 7 条边的图 ? = {1, 2, 3, 4, 5} ? = {(1, 2), (1, 3), (1, 5), (2, 3), (2, 4), (2, 5) res ,哈希表 visited 顶点数量最多为 |? | ,递归深度最大为 |? | ,因此使用 ?(|? |) 空 间。 9.4. 小结 ‧ 图由顶点和边组成,可以表示为一组顶点和一组边构成的集合。 ‧ 相比线性关系(链表)和分治关系(树),网络关系(图)的自由度更高,也从而更为复杂。 ‧ 有向图的边存在方向,连通图中的任意顶点都可达,有权图的每条边都包含权重变量。 ‧ 邻接矩阵使用方0 码力 | 199 页 | 15.72 MB | 1 年前3
共 9 条
- 1













