帮研二的学姐准备网易暑期实习的机试时,代码提交在一个OJ网站叫牛客网。出于好奇就多点了一下这个网站,看到《剑指offer》的在线编程专栏,就是把剑指offer中的题目都挂在了网上,可以在线判断是否AC。以前也总是听到学长们推荐该书,索性趁着项目不是太赶的时候把该书一口气读完了,顺便把其中的代码一并AC。

总的来说,对于代码的菜鸟,看完一遍还是能提高很多的,如果仅仅将该书定位于面试前的突击书还是有些暴殄天物。作者何海涛在书中列举出了68道面试时常见的编程题(包含英文版新加的18道),题型范围包含常见的数据结构和算法,因此对于想要提高自己编程能力的人来说也是一个很好的读物。

其中数据结构围绕数组、字符串、链表、数、栈和队列。如果经常刷OJ网站,会发现OJ网站的题目数据结构题型也是这样分类的。并且数组和字符串是最基本的数据结构,用连续的内存存储数字和字符;链表和树是最常见的数据结构,难度适中,在面试时最能考察应聘者的基本编程素质;栈和队列也是常用的数据结构,尤其是涉及到“先入先出“或者“先入后出”的思想的时候,要能很自然的反应到是栈和队列。

算法围绕排序和查找。在《数据结构与算法》课程中,最关键的就是要掌握排序和查找的常见算法的思想和代码编写。本书中要求应聘者着重掌握二分查找、归并排序和快速排序,做到“能够随时正确完整地写出他们的代码“,阅读本文的各位可以问一下自己能否做到(如果不能请移步http://www.jianshu.com/p/8c915179fd02和http://www.jianshu.com/p/b07c69a91535)。

本书的题目乍看起来好像我们自己都能实现,不过我们自己能实现的一般都是最通用最暴力的方式。本书的解题方式站在暴力解法的基础上分析是否有时间和空间复杂度的优化的可能性,如果时间复杂度太高能否采用用空间复杂度换取时间复杂度?本书讲解的过程思路一步一步,有理可循,并且有图形解释说明,使得看完之后自己也能手动实现优化的算法。看完该书之后再看leetcode上一些很Hard的算法题好像也不是那么难了,可以自己在草稿纸上画图然后慢慢去分析,也可以回头再翻阅该书作为算法词典。

当然在阅读该书的68个算法题过程中,还有一部分并没有理解的很好,所以以后刷题的时候可以再翻阅一下该书,加深理解。并且实现完代码上传到github时才发现,大部分代码以为自己思路很清醒就没有加注释,可能会导致自己再次翻看自己代码的时候搞不明白一些代码想要干啥,所以以后有时间二刷的时候一定要加上注释。

牛客网代码链接:https://www.nowcoder.com/profile/723693/codeBooks
GITHUB代码链接:https://github.com/Irvinglove/SwordToOffer

《剑指offer》读后感相关推荐

  1. GC13:XO独占游戏《神鬼寓言传奇》公布

    作者: 来源: www.bts668.com 微软日前公布了<神鬼寓言传奇>(Fable Legends),该游戏是此系列作品的新作,将作为Xbox One游戏出现. 这款由狮子头工作室开 ...

  2. Facebook 重金挖不到,ASP.NET 之父,微软大神“红衣教主”传奇

    作者 | 伍杏玲 出品 | CSDN (ID:CSDNnews) 2018 年底,微软"王者归来",时隔 16 年市值重返全球第一.人们纷纷用"力挽狂澜"&qu ...

  3. 乔布斯去世衍生多种周边产品(支持乔布斯请顶)

    各种乔布斯肖像 乔布斯公仔 乔布斯立体纸人 不管你是不是狂热的苹果粉丝,是不是拥有n多的苹果产品,苹果帮主乔布斯都应该值得我们纪念. "为什么说乔布斯改变了世界?没有 iPhone,就不会有 ...

  4. 一战封神!“中国飞人”苏炳添跑出9秒83到底有多牛?

    公众号后台回复"图书",了解更多号主新书内容作者:CDA数据分析师来源:CDA数据分析师 [导读] 在刚刚结束的东京奥运会百米飞人大战上,中国选手苏炳添在半决赛跑出9秒83,刷新了 ...

  5. 乔布斯导演的最后一幕

    连作者也说,他仅仅是这本书的写作者,真正的作者是乔布斯."中信出版社总编辑潘岳近日分享了<史蒂夫·乔布斯传>幕后的故事.这本传记预定期已达100万册,预估最终销量将达到500万册 ...

  6. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全

    史上最牛的Linux内核学习方法论   点击下载 我的arm_linux移植笔记   点击下载 S3C2440完全开发流程   点击下载 Linux系统命令及其使用详解完整版   点击下载 Linux ...

  7. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全...

    史上最牛的Linux内核学习方法论 点击下载 我的arm_linux移植笔记 点击下载 S3C2440完全开发流程 点击下载 Linux系统命令及其使用详解完整版 点击下载 Linux主要shell命 ...

  8. 养成励志的习惯,一生励志——文指星终极励志

    语言的突破全集 卡耐基 --励志经典     点击下载 人性的优点--卡耐基名著--励志经典     点击下载 人生格言精华总集     点击下载 人生定律与原则--励志经典     点击下载 厚黑学 ...

  9. 养成励志的习惯,一生励志

    语言的突破全集 卡耐基 --励志经典     点击下载 人性的优点--卡耐基名著--励志经典     点击下载 人生格言精华总集     点击下载 人生定律与原则--励志经典     点击下载 厚黑学 ...

  10. 【转】乔布斯经典语录

    2011年8月25日消息,乔布斯辞去了苹果公司CEO的职务.10月6日,传来了他去世的消息.在此缅怀乔帮主的同时,与大家分享乔布斯在世时的经典语录.(来自于<乔布斯传>--神一样的传奇的附 ...

最新文章

  1. OpenCV 【三】————contours便利删除操作方法
  2. Numerical Geometry of Image
  3. 数据结构之希尔排序图文详解及代码(C++实现)
  4. java jquery基础_day20:JQuery基础(超系统的JavaWEB全套教程)
  5. 版本控制系统优缺点比较
  6. 现代制造工程02:第一部分——刀具(含2个易考点)
  7. 爬虫爬到的网页源代码不是真正的源代码_Python爬虫经常爬不到数据?你可以看一下这篇文章...
  8. ICCV2021 workshop 多视角残缺点云的补全与配准
  9. Mr.J-- 图片墙动画效果
  10. Django操作原生MySQL的方法:MyModel.objects.raw()执行查询语句
  11. 虚拟机Centos7连接Internet
  12. 一秒钟世界上会发生多少事_一秒之中会发生什么
  13. 实习也能这样过!节选
  14. Anaconda下载及详细安装图文教程(基于Windows操作系统)
  15. 大学生程序设计邀请赛(华东师范大学)A. 拼音魔法
  16. 美团开店宝Android pad,美团开店宝(com.sankuai.meituan.merchant) - 9.2.1 - 应用 - 酷安
  17. 【java】【kotlin】判断当前日期是星期几、是否为月底;获取当前季度起始时间
  18. python 标准输入设备,实时获取MIDI设备的输入(Python)
  19. Python爬虫实战: 爬取网易云歌单
  20. 神啊,请让我丑一点吧

热门文章

  1. 遇到【java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter】的解决方案
  2. 如何使生成的exe程序默认以管理员权限启动
  3. silvaco学习日记(四)
  4. Topic modeling made just simple enough
  5. linux计划任务5个*分表代表什么,Linux定时任务Crontab命令
  6. System32/SysWow64
  7. 利用Python删除Android项目中未使用的图片
  8. 一文读懂 delete和delete[ ]
  9. 小迪渗透Waf绕过(陆)
  10. [Adaptive Autosar]深入理解--学习资料汇总