• 漫画算法:小灰的算法之旅
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

漫画算法:小灰的算法之旅

29.23 3.7折 79 全新

仅1件

北京通州
认证卖家担保交易快速发货售后保障

作者魏梦舒

出版社电子工业出版社

出版时间2019-05

版次1

装帧平装

上书时间2024-11-30

森少书店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
图书标准信息
  • 作者 魏梦舒
  • 出版社 电子工业出版社
  • 出版时间 2019-05
  • 版次 1
  • ISBN 9787121361975
  • 定价 79.00元
  • 装帧 平装
  • 开本 16开
  • 页数 280页
  • 字数 99999千字
【内容简介】


本书通过主人公小灰的心路历程,用漫画的形式讲述了算法和数据结构的基础知识,复杂多变的算法面试题目及算法的实际应用场景。首先介绍了算法和数据结构的体概念,告诉大家算法是什么,数据结构又是什么,都有哪些用途,如何分析时间复杂度,如何分析空间复杂度。第二章 介绍了基本的数据结构,包括数组、链表、栈、队列、哈希表的概念和读写作。第三章 介绍了树和二树的概念、二树的各种遍历方式、二树的特殊形式二堆和优先队列的应用。第四章 介绍了几种典型的排序算法,包括冒泡排序、快速排序、堆排序、排序、桶排序。第五章 介绍了十余种职场上流行的算法面试题目及详细的解题思路。例如怎样判断链表有环、怎样计算大整数加法等。第六章 介绍了算法在职场上的一些应用,例如使用lru算法来淘汰冷数据,使用bitmap算法来统计用户特征等。

【作者简介】


魏梦舒(@程序员小灰):公众号“程序员小灰”的作者,多年的软件行业从业经验,先后在金融和摩拜科技从事研发工作,对算法有的兴趣和经验。

精彩书评:

"序
初识小灰是因为在他的公众号看到一篇讲动态规划的文章,当时觉得挺意外,没想到还能有人用漫画来解释动态规划算法。
所谓算法,其实是个很宽泛的概念。有理解起来难度超大,烧脑到要“爆炸”的;也有简单直接,一目了然的;更多的却是,虽然看起来复杂,但只要方法得当,搞清,掌握起来还是很容易的那种算法。
可是很多人被“算法”二字“狰狞”的外表吓住了,久久不敢接触它。好不容易斗胆翻翻算法书,结果看到的不是大篇大篇的代码,是乱七八糟的符号。这都是什么呀?!算了,看来是学不会算法了,放弃吧
但凡书籍文章,难读的,肯定是公式符号;而优选读的,无外乎图像、对话等。本书作者以可爱的小灰和大黄两个漫画形象为主人公,把对算法的描述过程嵌入到它们的对话之中,并辅之以图形等直观方式来表达数据结构和作步骤——这种表达形式带着天然的亲和力,接近没有计算机背景的读者读来也不觉得生硬。
小灰所做的事情,是给算法这颗“炮弹”包上了“糖衣”,让算法的威力潜藏于内,外表不再吓人,反而变得萌萌哒,q弹可爱,清新怡人。
先干为敬,让我们一起吞了这颗包着“”的“糖丸”吧!

李烨,微软软件工程师
"
【目录】


章  算法概述  /  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  什么是链表  /  33
2.2.1 “正规军”和“地下党”  /  33
2.2.2  链表的基本作  /  35
2.3  栈和队列  /  42
2.3.1  物理结构和逻辑结构  /  42
2.3.2  什么是栈  /  43
2.3.3  栈的基本作  /  44
2.3.4  什么是队列  /  45
2.3.5  队列的基本作  /  46
2.3.6  栈和队列的应用  /  50
2.4  神奇的散列表  /  51
2.4.1  为什么需要散列表  /  51
2.4.2  哈希函数  /  54
2.4.3  散列表的读写作  /  55
2.5  小结  /  59

第3章  树  /  61
3.1  树和二树  /  61
3.1.1  什么是树  /  61
3.1.2  什么是二树  /  64
3.1.3  二树的应用  /  67
3.2  二树的遍历  /  71
3.2.1  为什么要研究遍历  /  71
3.2.2  深度优先遍历  /  73
3.2.3  广度优先遍历  /  84
3.3  什么是二堆  /  88
3.3.1  初识二堆  /  88
3.3.2  二堆的自我调整  /  90
3.3.3  二堆的代码实现  /  95
3.4  什么是优先队列  /  98
3.4.1  优先队列的特点  /  98
3.4.2  优先队列的实现  /  99
3.5  小结  /  103

第4章  排序算法  /  105
4.1  引言  /  105
4.2  什么是冒泡排序  /  107
4.2.1  初识冒泡排序  /  107
4.2.2  冒泡排序的优化  /  110
4.2.3  鸡尾酒排序  /  114
4.3  什么是快速排序  /  118
4.3.1  初识快速排序  /  118
4.3.2  基准元素的选择  /  120
4.3.3  元素的交换  /  122
4.3.4  单边循环法  /  125
4.3.5  非递归实现  /  128
4.4  什么是堆排序  /  131
4.4.1  传说中的堆排序  /  131
4.4.2  堆排序的代码实现  /  134
4.5  排序和桶排序  /  137
4.5.1  线时间的排序  /  137
4.5.2  初识排序  /  138
4.5.3  排序的优化  /  140
4.5.4  什么是桶排序  /  145
4.6  小结  /  149

第5章  面试中的算法  /  150
5.1  踌躇满志的小灰  /  150
5.2  如何判断链表有环  /  151
5.2.1  一场与链表相关的面试  /  151
5.2.2  解题思路  /  155
5.2.3  问题扩展  /  158
5.3  小栈的实现  /  161
5.3.1  一场关于栈的面试  /  161
5.3.2  解题思路  /  163
5.4  如何求出优选公约数  /  166
5.4.1  一场求优选公约数的面试  /  166
5.4.2  解题思路  /  168
5.5  如何判断一个数是否为2的整数次幂  /  173
5.5.1  一场很“2”的面试  /  173
5.5.2  解题思路  /  175
5.6  无序数组排序后的优选相邻差  /  178
5.6.1  一道奇葩的面试题  /  178
5.6.2  解题思路  /  179
5.7  如何用栈实现队列  /  184
5.7.1  又是一道关于栈的面试题  /  184
5.7.2  解题思路  /  186
5.8  寻找全排列的下一个数  /  191
5.8.1  一道关于数字的题目  /  191
5.8.2  解题思路  /  193
5.9  删去k个数字后的小值  /  196
5.9.1  又是一道关于数字的题目  /  196
5.9.2  解题思路  /  198
5.10  如何实现大整数相加  /  205
5.10.1  加法,你会不会  /  205
5.10.2  解题思路  /  206
5.11  如何求解金矿问题  /  211
5.11.1  一个关于财富自由的问题  /  211
5.11.2  解题思路  /  213
5.12  寻找缺失的整数  /  223
5.12.1 “五行”缺一个整数  /  223
5.12.2  问题扩展  /  225

第6章  算法的实际应用  /  230
6.1  小灰上班的天  /  230
6.2  bitmap的巧用  /  232
6.2.1  一个关于用户标签的需求  /  232
6.2.2  用算法解决问题  /  234
6.3  lru算法的应用  /  241
6.3.1  一个关于用户信息的需求  /  241
6.3.2  用算法解决问题  /  243
6.4  什么是a星寻路算法  /  249
6.4.1  一个关于迷宫寻路的需求  /  249
6.4.2  用算法解决问题  /  251
6.5  如何实现红包算法  /  262
6.5.1  一个关于钱的需求  /  262
6.5.2  用算法解决问题  /  264
6.6  算法之路无止境  /  268

点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP