商品详情
书名:数据结构和算法无师自通
定价:79.8
ISBN:9787115624550
作者:[美]科里·奥尔索夫(Cory Althoff)
版次:第1版
出版时间:2026-03
内容提要:
本书是一本介绍算法和数据结构基础知识的入门读物。作者通过简单易懂的语言和示例,帮助读者建立坚实的算法和数据结构基础,提高编程技能和解决问题的能力。本书包含两部分内容。第Ⅰ部分主要介绍什么是算法、递归、搜索算法、排序算法、字符串算法、数学等方面的知识。第Ⅱ部分主要介绍数据结构相关知识,如什么是数据结构、数组、链表、栈、队列、哈希表、二叉树、二叉堆、图等方面的知识。本书提供了大量的练习题和示例代码,帮助读者巩固所学知识并提高编程能力。 本书适合了解Python基础、对计算机科学感兴趣或有相关要求求职意向的人阅读。
作者简介:
Cory Althoff是一位作家、程序员和演讲者。他以《Python编程无师自通》一书而闻名,该书已用七种语言出版,并引入了 "自学成才的程序员"(the self-taught programmer)这一术语。The Next Web将《Python编程无师自通》列为能帮助你成为更好的软件工程师的十本书之一。*过20万名*是他通过其受欢迎的Facebook群组、博客、通讯和Udemy课程创建的自学编程者社区的一部分。2019年,Cory在Pycon JP上发表了开幕主题演讲。
目录:
第Ⅰ部分 算法介绍
第 1 章 什么是算法 3
1.1 分析算法 4
1.2 常数时间 8
1.3 对数时间 9
1.4 线性时间 9
1.5 对数线性时间 10
1.6 平方时间 11
1.7 立方时间 12
1.8 指数时间 13
1.9 *情况与*差情况的复杂度 14
1.10 空间复杂度 15
1.11 为什么这些概念很重要 16
1.12 词汇 16
1.13 挑战 17
第 2 章 递归 19
2.1 何时使用递归 23
2.2 词汇 23
2.3 挑战 23
第 3 章 搜索算法 25
3.1 线性搜索 25
3.2 何时使用线性搜索 27
3.3 二分搜索 27
3.4 何时使用二分搜索 30
3.5 搜索字符 32
3.6 词汇 34
3.7 挑战 34
第 4 章 排序算法 35
4.1 冒泡排序 35
4.2 何时使用冒泡排序 39
4.3 插入排序 40
4.4 何时使用插入排序 43
4.5 归并排序 44
4.6 何时使用归并排序 50
4.7 Python 中的排序算法 51
4.8 词汇 52
4.9 挑战 53
第 5 章 字符串算法 55
5.1 异构词检测 55
5.2 回文词检测 56
5.3 *一个数码 57
5.4 凯撒密码 58
5.5 词汇 61
5.6 挑战 61
第 6 章 数学 63
6.1 二进制 63
6.2 位运算符 66
6.3 FizzBuzz 69
6.4 *公约数 71
6.5 欧几里得算法 74
6.6 质数 75
6.7 词汇 76
6.8 挑战 77
第 7 章 自学的激励:玛格丽特·汉密尔顿 79
第Ⅱ部分 数据结构
第 8 章 什么是数据结构 83
8.1 词汇 85
8.2 挑战 85
第 9 章 数组 87
9.1 数组的性能 88
9.2 创建数组 90
9.3 移动* 91
9.4 组合两个列表 94
9.5 寻找列表中的重复元素 94
9.6 求两个列表的交集 97
9.7 词汇 99
9.8 挑战 99
第 10 章 链表 101
10.1 链表的性能 103
10.2 创建链表 104
10.3 在链表中搜索 106
10.4 从链表中删除节点 107
10.5 反转链表 108
10.6 寻找链表中的循环 110
10.7 词汇 111
10.8 挑战 111
第 11 章 栈 113
11.1 何时使用栈 114
11.2 创建栈 115
11.3 利用栈反转字符串 119
11.4 *小栈 120
11.5 括号的栈 122
11.6 词汇 124
11.7 挑战 124
第 12 章 队列 125
12.1 何时使用队列 126
12.2 创建队列 127
12.3 Python 内置的队列类 131
12.4 用两个栈实现队列 132
12.5 词汇 133
12.6 挑战 134
第 13 章 哈希表 135
13.1 何时使用哈希表 137
13.2 字符串中的字符 138
13.3 两数之和 140
13.4 词汇 142
13.5 挑战 142
第 14 章 二叉树 143
14.1 何时使用树 145
14.2 创建二叉树 148
14.3 树的宽度优先遍历 150
14.4 其他树遍历方法 152
14.5 反转二叉树 154
14.6 词汇 155
14.7 挑战 156
第 15 章 二叉堆 157
15.1 何时使用堆 160
15.2 创建堆 160
15.3 连接绳子的*小成本 162
15.4 词汇 164
15.5 挑战 164
第 16 章 图 165
16.1 何时使用图 168
16.2 图的创建 169
16.3 迪杰斯特拉算法 171
16.4 词汇 176
16.5 挑战 176
第 17 章 自学的激励:埃隆·马斯克 177
第 18 章 下一步 179
18.1 接下来做什么 179
18.2 爬上自由职业的梯子 179
18.3 如何获得面试机会 180
18.4 如何准备技术面试 181
18.5 补充资源 181
18.6 *的话 182
定价:79.8
ISBN:9787115624550
作者:[美]科里·奥尔索夫(Cory Althoff)
版次:第1版
出版时间:2026-03
内容提要:
本书是一本介绍算法和数据结构基础知识的入门读物。作者通过简单易懂的语言和示例,帮助读者建立坚实的算法和数据结构基础,提高编程技能和解决问题的能力。本书包含两部分内容。第Ⅰ部分主要介绍什么是算法、递归、搜索算法、排序算法、字符串算法、数学等方面的知识。第Ⅱ部分主要介绍数据结构相关知识,如什么是数据结构、数组、链表、栈、队列、哈希表、二叉树、二叉堆、图等方面的知识。本书提供了大量的练习题和示例代码,帮助读者巩固所学知识并提高编程能力。 本书适合了解Python基础、对计算机科学感兴趣或有相关要求求职意向的人阅读。
作者简介:
Cory Althoff是一位作家、程序员和演讲者。他以《Python编程无师自通》一书而闻名,该书已用七种语言出版,并引入了 "自学成才的程序员"(the self-taught programmer)这一术语。The Next Web将《Python编程无师自通》列为能帮助你成为更好的软件工程师的十本书之一。*过20万名*是他通过其受欢迎的Facebook群组、博客、通讯和Udemy课程创建的自学编程者社区的一部分。2019年,Cory在Pycon JP上发表了开幕主题演讲。
目录:
第Ⅰ部分 算法介绍
第 1 章 什么是算法 3
1.1 分析算法 4
1.2 常数时间 8
1.3 对数时间 9
1.4 线性时间 9
1.5 对数线性时间 10
1.6 平方时间 11
1.7 立方时间 12
1.8 指数时间 13
1.9 *情况与*差情况的复杂度 14
1.10 空间复杂度 15
1.11 为什么这些概念很重要 16
1.12 词汇 16
1.13 挑战 17
第 2 章 递归 19
2.1 何时使用递归 23
2.2 词汇 23
2.3 挑战 23
第 3 章 搜索算法 25
3.1 线性搜索 25
3.2 何时使用线性搜索 27
3.3 二分搜索 27
3.4 何时使用二分搜索 30
3.5 搜索字符 32
3.6 词汇 34
3.7 挑战 34
第 4 章 排序算法 35
4.1 冒泡排序 35
4.2 何时使用冒泡排序 39
4.3 插入排序 40
4.4 何时使用插入排序 43
4.5 归并排序 44
4.6 何时使用归并排序 50
4.7 Python 中的排序算法 51
4.8 词汇 52
4.9 挑战 53
第 5 章 字符串算法 55
5.1 异构词检测 55
5.2 回文词检测 56
5.3 *一个数码 57
5.4 凯撒密码 58
5.5 词汇 61
5.6 挑战 61
第 6 章 数学 63
6.1 二进制 63
6.2 位运算符 66
6.3 FizzBuzz 69
6.4 *公约数 71
6.5 欧几里得算法 74
6.6 质数 75
6.7 词汇 76
6.8 挑战 77
第 7 章 自学的激励:玛格丽特·汉密尔顿 79
第Ⅱ部分 数据结构
第 8 章 什么是数据结构 83
8.1 词汇 85
8.2 挑战 85
第 9 章 数组 87
9.1 数组的性能 88
9.2 创建数组 90
9.3 移动* 91
9.4 组合两个列表 94
9.5 寻找列表中的重复元素 94
9.6 求两个列表的交集 97
9.7 词汇 99
9.8 挑战 99
第 10 章 链表 101
10.1 链表的性能 103
10.2 创建链表 104
10.3 在链表中搜索 106
10.4 从链表中删除节点 107
10.5 反转链表 108
10.6 寻找链表中的循环 110
10.7 词汇 111
10.8 挑战 111
第 11 章 栈 113
11.1 何时使用栈 114
11.2 创建栈 115
11.3 利用栈反转字符串 119
11.4 *小栈 120
11.5 括号的栈 122
11.6 词汇 124
11.7 挑战 124
第 12 章 队列 125
12.1 何时使用队列 126
12.2 创建队列 127
12.3 Python 内置的队列类 131
12.4 用两个栈实现队列 132
12.5 词汇 133
12.6 挑战 134
第 13 章 哈希表 135
13.1 何时使用哈希表 137
13.2 字符串中的字符 138
13.3 两数之和 140
13.4 词汇 142
13.5 挑战 142
第 14 章 二叉树 143
14.1 何时使用树 145
14.2 创建二叉树 148
14.3 树的宽度优先遍历 150
14.4 其他树遍历方法 152
14.5 反转二叉树 154
14.6 词汇 155
14.7 挑战 156
第 15 章 二叉堆 157
15.1 何时使用堆 160
15.2 创建堆 160
15.3 连接绳子的*小成本 162
15.4 词汇 164
15.5 挑战 164
第 16 章 图 165
16.1 何时使用图 168
16.2 图的创建 169
16.3 迪杰斯特拉算法 171
16.4 词汇 176
16.5 挑战 176
第 17 章 自学的激励:埃隆·马斯克 177
第 18 章 下一步 179
18.1 接下来做什么 179
18.2 爬上自由职业的梯子 179
18.3 如何获得面试机会 180
18.4 如何准备技术面试 181
18.5 补充资源 181
18.6 *的话 182
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...