Hello 算法 1.0.0b1 Golang版. . . . . . . . . . . . . . . . . 43 4. 数组与链表 45 4.1. 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2. 链表 . . . . . . . . . . . . . . . . . . . . . . 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 例如,链表相对于数组,数据添加删除操作更加方便,但牺牲了数据的访问速度;图相对于链表,提供了更多 的逻辑信息,但需要占用更多的内存空间。 1.2.3. 数据结构与算法的关系 「数据结构」与「算法」是高度相关、紧密嵌合的,体现在: ‧ 数据0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Golang版. . . . . . . . . . . . . . . . . 43 4. 数组与链表 45 4.1. 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2. 链表 . . . . . . . . . . . . . . . . . . . . . . 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 例如,链表相对于数组,数据添加删除操作更加方便,但牺牲了数据的访问速度;图相对于链表,提供了更多 的逻辑信息,但需要占用更多的内存空间。 1.2.3. 数据结构与算法的关系 「数据结构」与「算法」是高度相关、紧密嵌合的,体现在: ‧ 数据0 码力 | 202 页 | 15.73 MB | 1 年前3
Hello 算法 1.1.0 Go版. . . . . . . . . . . . . . . . 64 第 4 章 数组与链表 66 4.1 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2 链表 . . . . . . . . . . . . . . . . . . . . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版. . . . . . . . . . . . . . . . 64 第 4 章 数组与链表 66 4.1 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2 链表 . . . . . . . . . . . . . . . . . . . . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版. . . . . . . . . . . . . . . . . 49 4. 数组与链表 51 4.1. 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2. 链表 . . . . . . . . . . . . . . . . . . . . . . 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程,这意味着要在某方面取得优势,往往需要在另一方面作出妥协。例如, 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度;图相较于链表,提供了更丰 富的逻辑信息,但需要占用更大的内存空间。 1.2.3. 数据结构与算法的关系 「数据结构」与「算法」高度相关且紧密结合,具体表现在: ‧0 码力 | 347 页 | 27.40 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版. . . . . . . . . . . . . . . . 64 第 4 章 数组与链表 66 4.1 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2 链表 . . . . . . . . . . . . . . . . . . . . . . . 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。0 码力 | 384 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0b5 Golang版. . . . . . . . . . . . . . . . 62 第 4 章 数组与链表 63 4.1 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2 链表 . . . . . . . . . . . . . . . . . . . . . . . 本书主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度、空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程。如果想要在某方面取得提升,往往需要在另一方面作出妥协。下面举 两个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 1.2.3 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现以下三个方面。0 码力 | 379 页 | 30.70 MB | 1 年前3
Go 入门指南(The way to Go)/list-ring-heap : 实现对集合的操作。 list : 双链表。 下面代码演示了如何遍历一个链表(当 l 是 *List ): for e := l.Front(); e != nil; e = e.Next() { //do something with e.Value } - `ring`: 环形链表。 time - log : time : 日期和时间的基本操作。 的时候。如果 前一个版本已经存在了,它们将被作为过时的包被回收。然而 Go1.0 发布的时候并不包含过时或者实验性 的包。 练习 9.1 使用 container/list 包实现一个双向链表,将 101、102 和 103 放入其中并打印出来。 练习 9.2 通过使用 unsafe 包中的方法来测试你电脑上一个整型变量占用多少个字节。 9.2 regexp 包 正则表达式语法和使用的详细信息请参考 struct {Min, Max *Point } 递归结构体 结构体类型可以通过引用自身来定义。这在定义链表或二叉树的元素(通常叫节点)时特别有用,此时节 点包含指向临近节点的链接(地址)。如下所示,链表中的 su ,树中的 ri 和 le 分别是指向别的节点 的指针。 链表: 这块的 data 字段用于存放有效数据(比如 float64), su 指针指向后继节点。 Go 代码:0 码力 | 380 页 | 2.97 MB | 1 年前3
Go 入门指南(The way to Go)为数组排序和自定义集合。 math/big : 大数的实现和计算。 container - /list-ring-heap : 实现对集合的操作。 list : 双链表。 ring : 环形链表。 下面代码演示了如何遍历一个链表(当 l 是 *List ): 1. for e := l.Front(); e != nil; e = e.Next() { 2. //do something 的时候。如果前一个版本 已经存在了,它们将被作为过时的包被回收。然而 Go1.0 发布的时候并不包含过时或者实验性的包。 练习 9.1 使用 container/list 包实现一个双向链表,将 101、102 和 103 放入其中并打印出来。 练习 9.2 通过使用 unsafe 包中的方法来测试你电脑上一个整型变量占用多少个字节。 9.1 标准库概述 - 207 - 本文档使用 struct {Min, Max *Point } 递归结构体 结构体类型可以通过引用自身来定义。这在定义链表或二叉树的元素(通常叫节点)时特别有用,此时节点包含指向 临近节点的链接(地址)。如下所示,链表中的 su ,树中的 ri 和 le 分别是指向别的节点的指针。 链表: 这块的 data 字段用于存放有效数据(比如 float64), su 指针指向后继节点。0 码力 | 466 页 | 4.44 MB | 1 年前3
2.2.6 字节跳动在 Go 网络库上的实践write read write read write growth copy copy will data race 优化 Buffer 设计 – LinkBuffer 设计 1. 链表解决 growth copy 2. sync.Pool 复用节点 3. atomic 访问 size 解决 data race Q: 为什么业界没使用 LinkBuffer ? A:0 码力 | 42 页 | 3.19 MB | 1 年前3
共 16 条
- 1
- 2













