-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
算法学习指南 版权信息
- ISBN:9787115592446
- 条形码:9787115592446 ; 978-7-115-59244-6
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
算法学习指南 本书特色
(1)对关键算法、数据结构与数据类型进行详实的描述,有效提高用各种语言编写代码的质量。(2)在解释算法的工作原理时,像讲故事一样娓娓道来,并提供大量的实验数据,对不同算法的运行时间性能进行比较。(3)所提供的算法实现,采用的是实际代码而不是伪代码,读者可以直接运行这些代码,切身感受算法的行为和性能。(4)书中描述算法的Python 代码并没有使用任何复杂的语法结构,因此对Python 稍有了解甚至不了解的读者(当然至少要熟悉一种其他编程语言),在阅读本书的代码时应该也不会感到困难。
算法学习指南 内容简介
本书介绍算法领域的一些常见算法,如搜索、排序、散列、查找*短路径和检测环路等;讨论与算法密切相关的一些数据结构与数据类型,如数组、链表、二叉树、散列表、堆栈和图等;重点阐述算法和数据结构之间的选择。除此之外,本书还深入浅出地阐述算法复杂度的原理,并通过大量的实验数据帮助读者理解各种不同时间复杂度的算法的行为。本书在解释算法的工作原理时,就像讲故事一样娓娓道来,并提供大量的实验数据,对不同算法的运行时间性能进行比较。本书所提供的算法实现,采用的是实际代码而不是伪码,读者可以直接在自己的计算机上运行这些代码,切身感受算法的行为和性能。书中描述算法的Python代码并没有使用任何复杂的语法结构,因此对Python稍有了解甚至不了解的读者(当然至少要熟悉一种其他编程语言),在阅读本书的代码时应该也不会感到困难。本书尤其适合计算机相关专业的大学生和其他相关领域的编程爱好者学习算法时使用,可为读者深入学习算法打下坚实基础。
算法学习指南 目录
前言 3
第 1 章 解决问题 9
1.1 什么是算法? 9
1.2 在一个任意的列表中查找*大值 12
1.3 对关键操作进行计数 14
1.4 可以预测算法性能的模型 14
1.5 在一个随机列表中查找两个*大值 19
1.6 锦标赛算法 22
1.7 时间复杂度和空间复杂度 28
1.8 总结 29
1.9 挑战练习 30
第 2 章 分析算法 33
2.1 使用实验模型预测性能 34
2.2 乘法可以更快 36
2.3 性能分类 38
2.4 渐进性分析 39
2.5 对所有操作进行计数 42
2.6 对所有字节进行计数 43
2.7 关上一扇门,打开另一扇门 44
2.8 二分数组搜索 45
2.9 几乎和π 一样简单 46
2.10 一石二鸟 48
2.11 综述 52
2.12 曲线拟合与上下界的比较 53
2.13 总结 54
2.14 挑战练习 55
第3 章 更好的散列,更适意的人生 58
3.1 值与键相关联 58
3.2 散列函数和散列码 63
3.3 (key,value)对的可散列结构 64
3.4 使用线性探查法检测和解决冲突 65
3.5 用链表实现分离链表 70
3.6 从链表中删除一个数据项 73
3.7 评估 75
3.8 增长的散列表 78
3.9 分析动态散列表的性能 83
3.10 完美散列 84
3.11 对(key,value)对进行迭代 87
3.12 总结 88
3.13 挑战练习 89
第4 章 堆起来! 93
4.1 *大二叉堆 99
4.2 插入(value,priority)对 101
4.3 删除具有*高优先级的值 104
4.4 用数组表示二叉堆 106
4.5 实现上浮和下沉 107
4.6 总结 111
4.7 挑战练习 112
第5 章 深入浅出论排序! 115
5.1 交换排序 116
5.2 选择排序 117
5.3 平方时间级排序算法的剖析 119
5.4 分析插入排序和选择排序的性能 121
5.5 递归和分治法 122
5.6 归并排序 127
5.7 快速排序 131
5.8 堆排序 134
5.9 O(NlogN)等级算法的性能比较 136
5.10 Tim 排序 137
5.11 总结 140
5.12 挑战练习 140
第6 章 二叉树:掌上世界的无限可能 142
6.1 基础知识 142
6.2 二叉查找树 147
6.3 在二叉查找树中搜索值 152
6.4 从二叉查找树删除值 153
6.5 遍历二叉查找树 157
6.6 分析二叉查找树的性能 159
6.7 平衡二叉树 161
6.8 分析平衡二叉树的性能 168
6.9 使用二叉树作为(key,value)符号表 168
6.10 使用二叉树作为优先队列 169
6.11 总结 172
6.12 挑战练习 173
第7 章 图:连得上的才是好的! 176
7.1 图高效地存储了实用的信息 176
7.2 使用深度优先搜索解决迷宫问题 181
7.3 广度优先搜索提供了一种不同的搜索算法 186
7.4 有向图 193
7.5 具有边权重的图 200
7.6 迪杰斯特拉算法 202
7.7 全顶点对的*短路径 212
7.8 弗洛伊德-沃歇尔算法 215
7.9 总结 219
7.10 挑战练习 220
第8 章 综述 . 223
8.1 Python 的内置数据类型 225
8.2 在Python 中实现堆栈 227
8.3 在Python 中实现队列 228
8.4 堆和优先队列的实现 229
8.5 进一步的探索 229
算法学习指南 作者简介
乔治.海涅曼(George T. Heineman)是一位计算机科学教授,在软件工程和算法领域有超过20 年的教学经验。他是《算法技术手册》(第2版)的作者,也是很多O’Reily视频培训课程的讲师,其中包括“Exploring Algorithms in Python”和“Working with Algorithms in Python”。他终身爱好逻辑题和数学智力题,他是Sujiken智力游戏(数独的一种变型)和Trexagon 智力游戏的发明者。
- >
烟与镜
烟与镜
¥14.4¥48.0 - >
罗庸西南联大授课录
罗庸西南联大授课录
¥13.8¥32.0 - >
伊索寓言-世界文学名著典藏-全译本
伊索寓言-世界文学名著典藏-全译本
¥9.3¥19.0 - >
人文阅读与收藏·良友文学丛书:一天的工作
人文阅读与收藏·良友文学丛书:一天的工作
¥14.7¥45.8 - >
有舍有得是人生
有舍有得是人生
¥17.1¥45.0 - >
二体千字文
二体千字文
¥14.0¥40.0 - >
朝闻道
朝闻道
¥8.8¥23.8 - >
新文学天穹两巨星--鲁迅与胡适/红烛学术丛书(红烛学术丛书)
新文学天穹两巨星--鲁迅与胡适/红烛学术丛书(红烛学术丛书)
¥9.9¥23.0
-
”互联网+“时代计算机算法的应用及其实践研究
¥19.9¥59 -
微服务设计
¥52.8¥69 -
图说深度学习:用可视化方法理解复杂概念
¥109¥188 -
计算机基础
¥17.2¥31 -
改变未来的九大算法
¥50¥68 -
生成式AI入门与AWS实战
¥77.8¥99.8