龙空技术网

「读书笔记」《漫画算法》:克服对算法的恐惧,从漫画开始

蛮三刀酱 349

前言:

如今看官们对“算法设计与分析读书笔记”大约比较珍视,小伙伴们都想要了解一些“算法设计与分析读书笔记”的相关文章。那么小编也在网上搜集了一些关于“算法设计与分析读书笔记””的相关内容,希望兄弟们能喜欢,同学们一起来了解一下吧!

写在开头

在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的。无非就是老师布置的一个作业,还是那种无趣且磨人的工作。

结果十多年过去了,到了工作的年纪,看书反倒是自觉地写起读后感来了,而且居然能坚持这么一直写下去了。

让我出现这种转变的动力有两个:

一个是互联网前所未有的拉近了人们的距离,一篇读后感真的不仅仅是交给老师的作业,更是交给网友的作业,这让人变得有动力了很多,毕竟总会有有缘人会看见你的文章。

第二,到了这个年纪,学习变成了越来越奢侈且费力的事情。年轻的时候总觉得自己的时间用不完,到了现在,每天都有做不完的事,还要不断地给自己充电,担心着哪天被社会抛弃。如果看完一本书,没有做点什么,真的会变得很焦虑,会感觉自己在浪费时间。

扯多了。

既然我也觉得写读后感有一部分原因就是为了给网友们阅读的,「那我就要吧读后感写的对大家伙更有帮助一些」。嗯,我会在这个方向上好好思考并努力的。

我之前的读书笔记:

【读书笔记】《码农翻身》一本差点被书名耽误的好书【读书笔记】《解忧程序员》读后感《漫画算法》读书笔记完全主观评价

这本书,不是买的。是腾讯云社区赠送的。这本书应该是19年中旬出版的,嗯,离我找工作已经过去了一年了,要是早出一点,我应该会第一时间花钱买了。很久之前就关注了小灰的公众号,也看了好多篇小灰的漫画文章,所以还是很喜欢小灰的文章。

如果我说这本书的大部分内容(我不负责任的粗略估计大概有60%)都是对公众号文章的重制版,不知道大家会不会有点失望呢。

当然,在书中,内容的顺序是经过仔细编排的。书里从算法和数据结构的定义和概念说起,再到时间空间复杂度的介绍,到数据结构基础,比如数组,链表,队列。最后才是一些具体的算法问题。「如果作为一个完全没接触过“程序员小灰”公众号的读者,那么这本书的结构是很合理的。尤其适合算法的入门学习。」

这里又想说句题外话了,其实现在很多的优质文章,都在被整理成书籍并出版,我觉得并不是一个坏事。恰恰相反,这些文章整理成书后,书籍的质量其实远超一些教学书,比如大学里一些中文的教程书。因为这些优质的文章,最初是面向网络的,它需要靠优质的文字来吸引读者,比枯燥的教程书要好上许多。当然,如果非要给这些不同类型的书排个名次的话,我觉得应该是:

某些中文教材质量 << 博客/公众号文章书籍 <= 某些优质中文教材 < 优质英文教材

如果要追求一个技术方向的深度的话,那么优先看优质的中英文教材。

比如算法方面,网上也都有一些网友排行榜,我个人比较推荐《算法》第四版,作为看完《剑指offer》《漫画算法》等入门书籍后的进阶书。

最后,这本书值不值得买?

如果你对算法完全不了解,请从这本书开始,它能克服你对算法的恐惧。

如果你看过了小灰的很多漫画文章,并且对初级算法已经不太像投入太多时间,希望更加进阶算法,这本书买回来可能3天就看完了,所以买不买,心里应该有答案了吧。(当然三天后你可以送给其他入门读者哈哈)

内容笔记第一章 算法概述

本章节主要介绍了什么是算法,数据结构。

随后通过历史故事的方式,层层讲述了时间和空间复杂度的由来。

作为算法的基础,这些东西可能比较枯燥,但一定要有个了解。

第二章 数据结构基础

数据结构有很多,书里面主要介绍了最最最常用的几种:

数组链表栈和队列散列表

这里我觉得知识点最多的是「栈和队列」,栈和队列的出队入队,出栈入栈时间复杂度都是O(1),并且队列可以用数组做底层,实现循环队列,来固定一个队列占用的存储空间。

第三章 树

数是相对复杂的数据结构了,本章讲述了二叉树,二叉堆,优先队列。

「优先队列」我之前也没怎么认真学习,最大优先队列就是指无论入队顺序如何,都是当前的最大元素先出队。它底层是用最大堆,最小堆实现的。所以时间复杂度是O(logn)。

第四章 排序

排序,我秋招看了好久,自己也总结了一篇文章,这里夹带私货一下:

排序算法最强总结及其代码实现(Python/Java)

书里面讲的是冒泡排序,快速排序,桶排序,堆排序。当然还有选择,插入,希尔,归并等。

第五章 面试中的算法

「这一章节,就很像剑指offer了,提出算法问题,然后针对问题,提出解决思路,并且优化解决思路,最后提出一种或者几种最优的思路。」

其中有几个我画了重点:

5.9 删去k个数字后的最小值:这是一道「贪心算法」的好例子5.11 求解金矿问题:「动态规划」的好例子5.12 寻找缺失的整数:「二进制位运算」的好例子第六章 算法的实际应用

这里面的几道算法题你可以理解为思路题,面试会经常问,比如:

Bitmap来实现给用户定义标签LRU淘汰缓存A*寻路算法:这个我至今都是一知半解

这章感觉还能再多些内容,其实小灰公众号上还有很多这种面试思路题,应该是碍于书籍篇幅,没有放上去。

所以,不知道下本小灰的书在内容上会是什么形式~

关注我

我是一名后端开发工程师。主要关注后端开发,数据安全,爬虫,物联网,边缘计算等方向,欢迎交流。

各大平台都可以找到我「微信公众号:后端技术漫谈」「Github:@qqxx6661」CSDN:@蛮三刀把刀知乎:@后端技术漫谈简书:@蛮三刀把刀掘金:@蛮三刀把刀腾讯云+社区:@后端技术漫谈原创文章主要内容后端开发Java面试设计模式/数据结构/算法题解爬虫/边缘计算/物联网读书笔记/逸闻趣事/程序人生个人公众号:后端技术漫谈

个人公众号:后端技术漫谈

「如果文章对你有帮助,不妨收藏,转发,在看起来~」

标签: #算法设计与分析读书笔记 #算法第四版答案33页