写在开头

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

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

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

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

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

扯多了。

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

我之前的读书笔记:

  • 【读书笔记】《码农翻身》一本差点被书名耽误的好书
  • 【读书笔记】《解忧程序员》读后感

《漫画算法》读书笔记

完全主观评价

这本书,不是买的。是腾讯云社区赠送的。这本书应该是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面试
  • 设计模式/数据结构/算法题解
  • 爬虫/边缘计算/物联网
  • 读书笔记/逸闻趣事/程序人生

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

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

【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始相关推荐

  1. 《趣学算法(第2版)》读书笔记 Part 4 :贪心算法基础(操作)

    14天阅读挑战赛 系列笔记链接 <趣学算法(第2版)>读书笔记 Part 1 :如何高效学习算法 <趣学算法(第2版)>读书笔记 Part 2 :算法入门 <趣学算法(第 ...

  2. 统计学习方法读书笔记(九)-EM算法及其推广

    全部笔记的汇总贴:统计学习方法读书笔记汇总贴 EM算法用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步组成:E步,求期望(ex ...

  3. 《算法导论》读书笔记之第1章 算法在计算机中的作用

    本章是本书的开篇,介绍了什么是算法,为什么要学习算法,算法在计算机中的地位及作用. 算法(algorithm)简单来说就是定义良好的计算机过程,它取一个或一组值作为输入,并产生出一个或一组值作为输出. ...

  4. 【机器学习实战系列】读书笔记之DecisionTree(ID3算法)(三)

    一.使用决策树预测隐形眼镜类型 这里实现一个例子,即利用决策树预测一个患者需要佩戴的隐形眼镜类型.以下是整个预测的大体步骤: 收集数据:使用书中提供的小型数据集 准备数据:对文本中的数据进行预处理,如 ...

  5. 【计算智能】读书笔记 第七章节 免疫算法 Part1

    文章目录 1. 什么是免疫算法 2.二进制模型 2.1 识别 2.2 刺激 3. 算法的基本模型 3.1 免疫系统名词与免疫算法名词比较 3.2 算法的基本流程图 3.3 识别抗体&初始化 3 ...

  6. 读书笔记-《大话数据结构》-算法设计的要求-正确性-文末有福利

    2.6.1 正确性 正确性:算法的正确性是指算法至少应该具有输入.输出和加工处理无歧义性.能正确反映问题的需求.能够得到问题的正确答案. 但是算法的"正确"通常在用法上有很大的差别 ...

  7. 《趣学算法(第2版)》读书笔记 Part 1 :如何高效学习算法

    14天阅读挑战赛 系列笔记链接 <趣学算法(第2版)>读书笔记 Part 1 :如何高效学习算法 <趣学算法(第2版)>读书笔记 Part 2 :算法入门 <趣学算法(第 ...

  8. 机器学习读书笔记(开篇)

    新近到手一本<机器学习实战>(Peter Harringtom),兴奋之余,本着好记性不如烂笔头的真理,打算将读书的过程记录下来,形成读书笔记,重点记录自己所理解的算法思想与应用示例.本人 ...

  9. 《统计学习方法》-读书笔记汇总贴(汇总27/27)

    本人学习所有系列:汇总帖 文章主要用来记录学习李航老师<统计学习方法(第二版)>的学习笔记,主要根据课本内容来,初步打算按照章节目录将知识点慢慢整理,希望能互相学习,共同提高! 目录 第1 ...

最新文章

  1. 深度学习调用TensorFlow、PyTorch等框架
  2. java用爬虫爬一个页面_使用Java写一个简单爬虫爬取单页面
  3. 元宇宙iwemeta: 重庆打造“数据之都”,拟成立重庆数据交易所
  4. python模拟鼠标拖动_python模拟鼠标拖动操作
  5. 19个必须知道的Visual Studio快捷键
  6. webpack的build的时候时间长处理方案
  7. 22亿!中国大学史上最大笔捐款诞生
  8. 资源放送丨《 先睹为快!Oracle 20c新特性解析》PPT视频
  9. Android沉浸式(侵入式)标题栏(状态栏)Status(三)
  10. linux man手册更新,linux man手册介绍【manual】
  11. Python爬虫——多线程爬取阳光问政
  12. allegro 导 bom
  13. 计算机批量制作邀请函步骤,如何利用Word批量制作邀请函
  14. linux---安装软件,第三方软件仓库的搭建,屏蔽yum仓库内的软件
  15. DAB-Deformable-DETR源码学习记录之模型构建(二)
  16. dwt转为html,如何把dwt页面转换成html页面
  17. 【电影推荐】20部生存启示录—灾难大片
  18. 什么是Remoting??
  19. Java 集合系列3、骨骼惊奇之LinkedList
  20. Java eclipse安装全过程

热门文章

  1. 塞下曲六首(唐 李白)
  2. MinIO windos安装包百度云盘免费下载
  3. 嵌入式Linux的技术分析
  4. Ajax入门笔记(原生Ajax、jQuery、axios、fetch、跨域SONP、CORS)
  5. Gitlab学习笔记--开发代码提交处理流程
  6. 树莓派无法使用摄像头
  7. ios应用提交上架被appstore拒绝的十大理由
  8. 将MS-DOS6.22装入U盘和硬盘
  9. 布满开源社夏夜的 是志愿者们的萤火星光
  10. linux下载python numba,安装numba和使用numba加速python程序