前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始

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

原创
作者头像
蛮三刀酱
修改2020-06-22 10:32:52
3770
修改2020-06-22 10:32:52
举报

写在开头

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

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

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

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

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

扯多了。

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

我之前的读书笔记:

《漫画算法》读书笔记

完全主观评价

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

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

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

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

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

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

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

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

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

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

内容笔记

第一章 算法概述

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

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

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

第二章 数据结构基础

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

  • 数组
  • 链表
  • 栈和队列
  • 散列表

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

第三章 树

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

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

第四章 排序

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

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

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

第五章 面试中的算法

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

其中有几个我画了重点:

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

第六章 算法的实际应用

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

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

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

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

关注我

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

原创文章主要内容

  • 后端开发
  • Java面试
  • 设计模式/数据结构/算法题解
  • 爬虫/边缘计算/物联网
  • 读书笔记/逸闻趣事/程序人生

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在开头
  • 《漫画算法》读书笔记
    • 完全主观评价
      • 最后,这本书值不值得买?
        • 内容笔记
          • 第一章 算法概述
          • 第二章 数据结构基础
          • 第三章 树
          • 第四章 排序
          • 第五章 面试中的算法
          • 第六章 算法的实际应用
          • 原创文章主要内容
          • 个人公众号:后端技术漫谈
      • 关注我
      相关产品与服务
      物联网
      腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档