漫画算法小灰的算法之旅pdf,漫画算法2:小灰的算法进阶
商品规格
漫画算法-俏皮发的算法之旅(Python)
定价79.00英镑
电子工业出版社
版本
2020年3月出版
打开书16打开
作者的谨慎之钟
框架平装本装订
页数
字数
ISBN代码9787121382789
重量
内容介绍
本书通过虚拟英雄俏皮发的心路历程,以漫画的形式讲述了算法与数据结构的基础知识、复杂多变的算法面试题以及算法的实际应用场景。第一章介绍算法和数据结构的相关概念,告诉你什么是算法,什么是数据结构,它们的用途是什么,如何分析时间复杂度,如何分析空间复杂度。第二章介绍了*的基本数据结构,包括数组、链表、栈、队列、哈希表和读写操作的概念。第三章介绍了树和二叉树的概念,二叉树的各种遍历方法,二叉树的特殊形式,——二叉堆和优先级队列的应用。第四章介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序和桶排序。第5章介绍了10多个关于职场中算法的面试问题及详细解决方案。比如如何判断链表是否有环,如何计算大整数的加法等等。第六章介绍了该算法在工作场所中的一些应用,如剔除冷数据的LRU算法和统计用户特征的位图算法。
目录
第一章算法概述/1 1.1算法与数据结构/1 1.1.1俏皮的毛和大黄/1 1.1.2什么是算法/3 1.1.3什么是数据结构/7 1.2时间复杂度/8 1.2.1算法的好与坏/8 1.2.2基本运算执行次数/10 1.2.3渐进21.2.4时间复杂度的巨大差异/15 1.3空间复杂度/16 1.3.1什么是空间复杂度/16 1.3.2
第1章算法概述/1
1.1算法和数据结构/1
1.1.1俏皮的头发和大黄/1
1.1.2什么是算法/3
1.1.3什么是数据结构/7
1.2时间复杂度/8
1.2.1算法的优缺点/8
1.2.2执行的基本操作数/10
1.2.3渐进时间复杂度/12
1.2.4时间复杂度差异大/15
1.3空间复杂度/16
1.3.1什么是空间复杂性/16
1.3.2空间复杂度的计算/19
1.3.3时间和空间的权衡/21
1.4摘要/22
第二章数据结构基础/23
2.1什么是阵列/23
2.1.1第一次阵列/23
2.1.2数组的基本操作/26
2.1.3阵列的优缺点/32
2.2什么是链表/32
2.2.1“正规军”和“地下党”/32
2.2.2链表的基本操作/35
2.2.3数组与链表/40
2.3堆栈和队列/41
2.3.1物理结构和逻辑结构/41
2.3.2什么是堆栈/42
2.3.3堆栈的基本操作/43
2.3.4什么是队列/44
2.3.5队列/45的基本操作
2.3.6堆栈和队列的应用/48
2.4神奇哈希表/50
2.4.1为什么需要哈希表/50?
2.4.2哈希函数/52
2.4.3哈希表/53的读写操作
2.5摘要/56
第三章树/58
3.1树和二叉树/58
3.1.1什么是树/58
3.1.2什么是二叉树/61
3.1.3二叉树的应用/64
3.2二叉树的遍历/68
3.2.1为什么要学习遍历/68
3.2.2深度优先遍历/70
3.2.3广度优先遍历/80
3.3什么是二进制堆/83
3.3.1首次了解二进制堆栈/83
3.3.2二进制堆栈的自调整/86
3.3.3二进制堆/91的代码实现
3.4什么是优先级队列/93
3.4.1优先级队列的特征/93
3.4.2优先级队列/95的实现
3.5摘要/98
第四章排序算法/100
4.1简介/100
4.2什么是冒泡排序/102
4.2.1首次冒泡排序/102
4.2.2气泡排序的优化/105
4.2.3鸡尾酒分类/108
4.3什么是快速排序/112
4.3.1初次见面的快速排序/112
4.3.2基准元素的选择/114
4.3.3元素交换/116
4.3.4单边循环法/118
4.3.5非递归实现/121
4.4什么是堆排序/123
4.4.1传说中的堆排序/123
4.4.2堆排序的代码实现/127
4.5计数分类和桶分类/129
4.5.1线性时间的排序/129
4.5.2第一次会议计数排序/130
4.5.3计数排序的优化/132
4.5.4什么是桶排序/137
4.6摘要/140
第五章面试中的算法/141
5.1雄心勃勃又俏皮的头发/141
5.2如何判断链表有环/142
5.2.1与链表相关的访谈/142
5.2.2解决问题的思路/146
5.2.3问题扩展/148
5.3 *小型堆栈/151的实现
5.3.1关于堆栈的访谈/151
5.3.2解决问题的思路/153
5.4如何求*大公约数/156
5.4.1一次采访求*大公约数/156
5.4.2解决问题的思路/158
5.5如何判断一个数是否是2/162的整数次方?
5.5.1一次非常“2”的面试/162
5.5.2解决问题的思路/165
5.6 *无序数组排序后的大相邻差/167
5.6.1一个精彩的面试问题/167
5.6.2解决问题的思路/168
5.7如何用Stack/173实现队列
5.7.1另一个关于stack/173的面试问题
5.7.2解决问题的思路/174
5.8找出完整排列中的下一个数字/179
5.8.1关于数字的话题/179
5.8.2解决问题的思路/181
删除k位数后的5.9 *小值/184
5.9.1关于数字的另一个话题/184
5.9.2解决问题的思路/186
5.10如何求两个数组的中位数/192
5.10.1关于中位数的问题/192
5.10.2解决问题的思路/194
5.11如何解决金矿问题/200
5.11.1一个关于财富自由的问题/200
5.11.2解决问题的思路/202
5.12寻找丢失的整数/211
5.12.1“五行”缺少一个整数/211
5.12.2问题扩展/213
第六章算法/218的实际应用
6.1上班第一天俏皮的发型/218
6.2巧用位图/220
6.2.1用户标签需求/220
6.2.2用算法解决问题/222
6.3算法的应用/228
6.3.1用户信息需求/228
6.3.2用算法解决问题/231
6.4什么是A星寻路算法/236
6.4.1关于迷宫寻路的要求/236
6.4.2用算法解决问题/238
6.5如何实现红包算法/248
6.5.1对金钱的需求/248
6.5.2用算法解决问题/251
6.6算法之路是无止境的/254显示所有信息
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。