写在开头
在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的。无非就是老师布置的一个作业,还是那种无趣且磨人的工作。
结果十多年过去了,到了工作的年纪,看书反倒是自觉地写起读后感来了,而且居然能坚持这么一直写下去了。
让我出现这种转变的动力有两个:
一个是互联网前所未有的拉近了人们的距离,一篇读后感真的不仅仅是交给老师的作业,更是交给网友的作业,这让人变得有动力了很多,毕竟总会有有缘人会看见你的文章。
第二,到了这个年纪,学习变成了越来越奢侈且费力的事情。年轻的时候总觉得自己的时间用不完,到了现在,每天都有做不完的事,还要不断地给自己充电,担心着哪天被社会抛弃。如果看完一本书,没有做点什么,真的会变得很焦虑,会感觉自己在浪费时间。
扯多了。
既然我也觉得写读后感有一部分原因就是为了给网友们阅读的,那我就要吧读后感写的对大家伙更有帮助一些。嗯,我会在这个方向上好好思考并努力的。
我之前的读书笔记:
《漫画算法》读书笔记
完全主观评价
这本书,不是买的。是腾讯云社区赠送的。这本书应该是19年中旬出版的,嗯,离我找工作已经过去了一年了,要是早出一点,我应该会第一时间花钱买了。很久之前就关注了小灰的公众号,也看了好多篇小灰的漫画文章,所以还是很喜欢小灰的文章。
如果我说这本书的大部分内容(我不负责任的粗略估计大概有60%)都是对公众号文章的重制版,不知道大家会不会有点失望呢。
当然,在书中,内容的顺序是经过仔细编排的。书里从算法和数据结构的定义和概念说起,再到时间空间复杂度的介绍,到数据结构基础,比如数组,链表,队列。最后才是一些具体的算法问题。如果作为一个完全没接触过“程序员小灰”公众号的读者,那么这本书的结构是很合理的。尤其适合算法的入门学习。
这里又想说句题外话了,其实现在很多的优质文章,都在被整理成书籍并出版,我觉得并不是一个坏事。恰恰相反,这些文章整理成书后,书籍的质量其实远超一些教学书,比如大学里一些中文的教程书。因为这些优质的文章,最初是面向网络的,它需要靠优质的文字来吸引读者,比枯燥的教程书要好上许多。当然,如果非要给这些不同类型的书排个名次的话,我觉得应该是:
某些中文教材质量 << 博客/公众号文章书籍 <= 某些优质中文教材 < 优质英文教材
如果要追求一个技术方向的深度的话,那么优先看优质的中英文教材。
比如算法方面,网上也都有一些网友排行榜,我个人比较推荐《算法》第四版,作为看完《剑指offer》《漫画算法》等入门书籍后的进阶书。
最后,这本书值不值得买?
如果你对算法完全不了解,请从这本书开始,它能克服你对算法的恐惧。
如果你看过了小灰的很多漫画文章,并且对初级算法已经不太像投入太多时间,希望更加进阶算法,这本书买回来可能3天就看完了,所以买不买,心里应该有答案了吧。(当然三天后你可以送给其他入门读者哈哈)
内容笔记
第一章 算法概述
本章节主要介绍了什么是算法,数据结构。
随后通过历史故事的方式,层层讲述了时间和空间复杂度的由来。
作为算法的基础,这些东西可能比较枯燥,但一定要有个了解。
第二章 数据结构基础
数据结构有很多,书里面主要介绍了最最最常用的几种:
- 数组
- 链表
- 栈和队列
- 散列表
这里我觉得知识点最多的是栈和队列,栈和队列的出队入队,出栈入栈时间复杂度都是O(1),并且队列可以用数组做底层,实现循环队列,来固定一个队列占用的存储空间。
第三章 树
数是相对复杂的数据结构了,本章讲述了二叉树,二叉堆,优先队列。
优先队列我之前也没怎么认真学习,最大优先队列就是指无论入队顺序如何,都是当前的最大元素先出队。它底层是用最大堆,最小堆实现的。所以时间复杂度是O(logn)。
第四章 排序
排序,我秋招看了好久,自己也总结了一篇文章,这里夹带私货一下:
书里面讲的是冒泡排序,快速排序,桶排序,堆排序。当然还有选择,插入,希尔,归并等。
第五章 面试中的算法
这一章节,就很像剑指offer了,提出算法问题,然后针对问题,提出解决思路,并且优化解决思路,最后提出一种或者几种最优的思路。
其中有几个我画了重点:
- 5.9 删去k个数字后的最小值:这是一道贪心算法的好例子
- 5.11 求解金矿问题:动态规划的好例子
- 5.12 寻找缺失的整数:二进制位运算的好例子
第六章 算法的实际应用
这里面的几道算法题你可以理解为思路题,面试会经常问,比如:
- Bitmap来实现给用户定义标签
- LRU淘汰缓存
- A*寻路算法:这个我至今都是一知半解
这章感觉还能再多些内容,其实小灰公众号上还有很多这种面试思路题,应该是碍于书籍篇幅,没有放上去。
所以,不知道下本小灰的书在内容上会是什么形式~
关注我
我是一名后端开发工程师。主要关注后端开发,数据安全,爬虫,物联网,边缘计算等方向,欢迎交流。
各大平台都可以找到我
原创文章主要内容
- 后端开发
- Java面试
- 设计模式/数据结构/算法题解
- 爬虫/边缘计算/物联网
- 读书笔记/逸闻趣事/程序人生
个人公众号:后端技术漫谈
如果文章对你有帮助,不妨收藏,转发,在看起来~