免费下载书籍地址:PDF下载地址
精美图片

漫画算法:小灰的算法之旅(Python篇)(全彩)书籍详细信息
- ISBN:9787121382789
- 作者:暂无作者
- 出版社:暂无出版社
- 出版时间:2020-03
- 页数:268
- 价格:62.40
- 纸张:胶版纸
- 装帧:平装-胶订
- 开本:16开
- 语言:未知
- 丛书:暂无丛书
- TAG:暂无
- 豆瓣评分:暂无豆瓣评分
寄语:
2019年度科技爆款图书之Python篇,全网阅读量近1000万次的算法故事;一群可爱的小仓鼠,带你轻松入门算法与数据结构;开发岗面试稳当当
内容简介:
本书通过虚拟的主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识、复杂多变的算法面试题目及算法的实际应用场景。第1章 介绍了算法和数据结构的相关概念,告诉大家算法是什么,数据结构又是什么,它们有哪些用途,如何分析时间复杂度,如何分析空间复杂度。第2章 介绍了*基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。第3章 介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式——二叉堆和优先队列的应用。第4章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。第5章 介绍了10余道职场上流行的算法面试题及详细的解题思路。例如怎样判断链表有环,怎样计算大整数相加等。第6章 介绍了算法在职场上的一些应用,例如使用LRU算法来淘汰冷数据,使用Bitmap算法来统计用户特征等。
书籍目录:
第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
第2章 数据结构基础 / 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 数组VS链表 / 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
第3章 树 / 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
第4章 排序算法 / 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
第5章 面试中的算法 / 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 如何用栈实现队列 / 173
5.7.1 又是一道关于栈的面试题 / 173
5.7.2 解题思路 / 174
5.8 寻找全排列的下一个数 / 179
5.8.1 一道关于数字的题目 / 179
5.8.2 解题思路 / 181
5.9 删去k个数字后的小值 / 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
第6章 算法的实际应用 / 218
6.1 小灰上班的第1天 / 218
6.2 Bitmap的巧用 / 220
6.2.1 一个关于用户标签的需求 / 220
6.2.2 用算法解决问题 / 222
6.3 LRU算法的应用 / 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
作者介绍:
微信公众号程序员小灰的作者,多年的软件行业从业经验,先后在金融和摩拜科技从事算法和研发相关工作,对算法有着深入的研究。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
在线阅读地址:漫画算法:小灰的算法之旅(Python篇)(全彩)在线阅读
在线听书地址:漫画算法:小灰的算法之旅(Python篇)(全彩)在线收听
在线购买地址:漫画算法:小灰的算法之旅(Python篇)(全彩)在线购买
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
编辑推荐
●小灰的算法故事给算法这颗“炮弹”包上了“糖衣”,让算法的威力潜藏于内,外表不再吓人,萌萌哒Q弹可爱。
●从基本数据结构,到各类常用算法,再到面试算法,再到职场应用,书中的主角小灰和大黄带领大家逐个破解。
●和一群快乐的小仓鼠共同领悟算法思想、理解算法对内存空间和性能的影响,并开动脑筋去寻求解决问题的高效方案。
前言
推荐序
初识小灰是因为在他的微信公众号看到一篇讲动态规划算法的文章,当时觉得挺意外,没想到还能有人用漫画来解释动态规划算法。
所谓算法,其实是一个很宽泛的概念。有理解起来难度超大,烧脑到要“爆炸”的算法;也有简单直接,一目了然的算法;更多的却是,虽然看起来复杂,但只要方法得当,搞清原理,掌握起来还是很容易的那种算法。
可是很多人被“算法”二字“狰狞”的外表吓住了, 久久不敢接触它。好不容易斗胆翻翻算法书,结果看到的不是大篇大篇的代码,就是乱七八糟的符号。这都是什么呀?算了,看来是学不会算法了,放弃吧……
但凡书籍文章,难读的,肯定是公式、符号;而好读的,无外乎图像、对话等。本书作者以可爱的小灰和大黄两个漫画形象为主人公,把对算法的描述过程嵌入它们的对话之中,并辅之以图形等直观方式来表达数据结构和操作步骤——这种表达形式带着天然的亲和力,完全没有计算机背景的读者读起来也不觉得生硬。
小灰所做的事情,就是给算法这颗“炮弹”包上了“糖衣”,让算法的威力潜藏于内,外表不再吓人,反而变得萌萌哒,Q弹可爱,清新怡人。
先干为敬,让我们一起吞了这颗包着“炸药”的“糖丸”吧!
李烨,微软高级软件工程师
前言
许多程序员对算法望而生畏,认为算法是一门高深莫测的学问。
以前我曾经面试过一个求职者,起初考查他的技术功底和项目经验,他都回答得不错。接下来我对他说:“OK,那我考查一下你的算法水平吧。”
题目还没说出口,该求职者立马摆摆手说:“不要,不要,我算法不行的!”
我还是有些不甘心,接着说道:“我只考查基础的,你说说冒泡排序的基本思路吧!”
他仍旧说:“我不知道,关于算法我一点儿都不会……”
算法真的那么难,真的那么无趣吗?
恰恰相反,算法是编程领域中有意思的一块内容,也不像许多人想象的那样难以驾驭。
许多人把算法比作程序员的“内功”,但笔者觉得这个比喻并不是很恰当。内功实实在在,没有任何技巧可言,而算法天马行空,千变万化,就像金庸笔下令狐冲的一套独孤九剑。
学习算法,不需要死记硬背那些冗长复杂的背景知识、底层原理、指令语法……需要做的是领悟算法思想、理解算法对内存空间和性能的影响,以及开动脑筋去寻求解决问题的方案。相比编程领域的其他技术,算法更纯粹,更接近数学,也更具有趣味性。
我一直希望写一些东西,让更多的IT同行能够领略到算法的魅力,可是用什么方式来写呢?
2016年9月,一个突如其来的灵感让我创造了一个初出茅庐的菜鸟程序员形象,这个菜鸟程序员名叫小灰。
程序员小灰的故事活跃在同名的微信公众号上,该公众号用漫画的形式诉说着小灰一次又一次的面试经历,倔强的小灰屡战屡败,屡败屡战。小灰是我刚刚入行时的真实写照,相信许多程序员也能从中看到自己的影子。
终于,在朋友们的支持和鼓励下,程序员小灰的故事从微信公众号搬到了纸质图书上。能让更多同行看到小灰的故事,我感到十分欣慰。
本书特色
这本书通过漫画的形式,讲述了小灰学习算法和数据结构知识的心路历程。书中许多内容源于本人的微信公众号,但是比公众号上所展现的内容更加系统、全面,也更加严谨。
本书的前4章是对算法基础知识的讲解,没有算法和数据结构基础的读者可以从头开始进行系统学习。
对于有一定基础的读者,可以选择从第5章面试题目的讲解开始阅读,每一道面试题目都是相对独立的,并不需要严格地按顺序学习。同时,也推荐大家适当看看前面的内容,巩固一下自己的算法知识体系。
这不是一本编程入门书。在编程方面完全零基础的读者,建议先了解一些Python语言的基础。不过,算法思想是相通的,如果你掌握的是其他编程语言,也不难看懂其中
的算法和数据结构知识。
勘误和支持
除书中所提供的代码示例以外,大家也可以关注微信公众号“程序员小灰”,在后台回复“漫画算法”,获得全书完整的、可运行的代码。为了保证代码的简捷,在部分代码实现中省略了烦琐的参数判空和验证逻辑。
由于作者水平有限,书中难免会出现一些错误,恳请广大读者批评指正。读者如果在阅读过程中产生疑问或发现Bug,欢迎随时到微信公众号“程序员小灰”的后台留言。
书籍介绍
《漫画算法》通过虚拟的主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识、复杂多变的算法面试题目及算法的实际应用场景。第1章介绍了算法和数据结构的相关概念,告诉大家算法是什么,数据结构又是什么,它们有哪些用途,如何分析时间复杂度,如何分析空间复杂度。第2章介绍了最基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写操作。第3章介绍了树和二叉树的概念、二叉树的各种遍历方式、二叉树的特殊形式——二叉堆和优先队列的应用。第4章介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、计数排序、桶排序。第5章介绍了10余道职场上流行的算法面试题及详细的解题思路。例如怎样判断链表有环,怎样计算大整数相加等。第6章介绍了算法在职场上的一些应用,例如使用LRU算法来淘汰冷数据,使用Bitmap算法来统计用户特征等。
书籍真实打分
故事情节:6分
人物塑造:6分
主题深度:4分
文字风格:8分
语言运用:6分
文笔流畅:4分
思想传递:6分
知识深度:4分
知识广度:4分
实用性:8分
章节划分:8分
结构布局:8分
新颖与独特:3分
情感共鸣:7分
引人入胜:4分
现实相关:5分
沉浸感:8分
事实准确性:8分
文化贡献:8分
网站评分
书籍多样性:5分
书籍信息完全性:4分
网站更新速度:9分
使用便利性:6分
书籍清晰度:5分
书籍格式兼容性:9分
是否包含广告:9分
加载速度:7分
安全性:3分
稳定性:6分
搜索功能:3分
下载便捷性:7分
下载点评
- 值得购买(251+)
- 无广告(352+)
- 好评(432+)
- 差评少(394+)
- mobi(58+)
- 体验满分(660+)
- 中评(431+)
下载评价
网友 扈***洁:还不错啊,挺好
网友 居***南:请问,能在线转换格式吗?
网友 沈***松:挺好的,不错
网友 石***烟:还可以吧,毕竟也是要成本的,付费应该的,更何况下载速度还挺快的
网友 汪***豪:太棒了,我想要azw3的都有呀!!!
网友 后***之:强烈推荐!无论下载速度还是书籍内容都没话说 真的很良心!
网友 权***颜:下载地址、格式选择、下载方式都还挺多的
网友 养***秋:我是新来的考古学家
网友 曾***玉:直接选择epub/azw3/mobi就可以了,然后导入微信读书,体验百分百!!!
网友 苍***如:什么格式都有的呀。
网友 瞿***香:非常好就是加载有点儿慢。
网友 詹***萍:好评的,这是自己一直选择的下载书的网站
网友 饶***丽:下载方式特简单,一直点就好了。
网友 师***怡:说的好不如用的好,真心很好。越来越完美