@编程珠玑-吐槽向

编程素人眼里的编程珠玑

作为一个cs专业的素人, 在每一个立志学好计算机的深夜搜索如何做一名优秀的程序员时,都会被推荐这本书,终于我下单了,并且在一个阳光并不充足的周末,我看完了这本书。

第一章

我个人认为第一章是我在这本书里最大的收获。第一章大概讲述了分析问题的重要性。在实际应用情境中,当我们遇见即使一个很常见的问题,我们仍然需要分析在我们的情境中,我们的数据的特点,然后根据数据的特点选择一个最适合的算法,而不是一个理论上的最好的算法。

第二章

二分法, 向量旋转方法以及变位词问题。

第三章

1, 有序的组织你的数据,当你的变量过于混乱的时候,尝试寻找一个数据结构将相关的变量的组织起来。
2, 避免编写逻辑冗余的代码。当你编写太多差不多意思的代码的时候,检查代码逻辑。

第四章&&第五章

一个程序员需要写出bug free的代码,且要养成写unit test的习惯。(就这,写了两章)

第六章

不是很明白想讲什么。可能是在讲如果一个程序运行的很慢,找出痛点,从硬件和代码的角度优化。

第七章

做人要有常识,做事之前要先估摸一下,要是实在拿不准,安全系数往大了设。

第八章

输入向量的最大连续子向量和问题。

第九章

1,频繁进行IO操作的数据放到缓存里。
2, 保证自己代码里的每一步计算和比较都是必要的(代码调优应在确信没有更好的设计时进行)

第十章

空间优化问题(链表表示稀疏矩阵)。

第十一章

介绍了插入排序算法和快排。插入排序算法在输入数据相对有序时表现较好,而快排在数据相对随机时表现较好。
本章末尾引入了一个插入排序和快排混合的算法。首先利用快速排序将数据处理成一块一块的有序数据块, 其中i块数据块中所有的元素都比i+1块的元素小, 但是每一块内的数据是无序的。最后利用插入排序将每一小块的数据排序,得到最终的有序数据。

第十二章

没有理解到作者的点。

第十三章

介绍了数组,链表, 以及bst的插入。(并没有从这一章里面了解到什么特别的东西)。

第十四章

介绍了一下堆这个数据结构(就这)。

第十五章

本章的收获是了解了一个找最长重复子字符串的算法。
假设有一个字符串abaaba,首先将字符串预处理得到(abaaba, baaba, aaba, aba, ba, a)将得到的字符串们排序(a,aaba,aba,abaaba,ba, baaba), 依次查找第i个和第i+1个字符串的公共部分(必须包含第一个元素, aaba和aba公共部分是a不是aba, aba和abaaba的公共元素才是aba)。

后记

其实我还买了第二本,但是不确定会不会看了。本文仅代表自己观点,可能是过于弱鸡,感受不到本书的精妙,轻踩, 如果你骂我我就买粉丝骂你。

编程素人眼里的编程珠玑相关推荐

  1. nao机器人c语言编程教程,NAO机器人编程学习.pdf

    NAO机器人编程学习 NAO 机器人编程学习 目录 1.基本介绍1 1.1 实体平台2 1.1.1 运动2 1.1.2 视觉2 1.1.3 语音2 1.1.4 触摸传感器和声纳测距仪3 1.1.5 连 ...

  2. socket recv 服务端阻塞 python_网络编程(基于socket编程)

    网络编程(基于socket编程) socket套接字:应用程序通常通过socket"套接字"向网络发送请求或应答网络请求,是主机间或同一计算机中的进程间相互通讯 socket是介于 ...

  3. python 图形化socket编程_Python黑帽编程2.8 套接字编程

    Python黑帽编程2.8 套接字编程 套接字编程在本系列教程中地位并不是很突出,但是我们观察网络应用,绝大多数都是基于Socket来做的,哪怕是绝大多数的木马程序也是如此.官方关于socket编程的 ...

  4. 五轴编程_HyperMILL五轴编程培训HyperMILL 软件的特点

    目前,国内外生产企业的数控铣削加工基本上都是采用数控自动编程软件来编程加工,数控编程软件品种. 有很多,常见国外的有UG.Mastercam Cimatron.Catia.Pro/E.DelCAM等, ...

  5. 第11章 假如没有编程 《丰富多彩的编程世界》

    第11章 假如没有编程 <丰富多彩的编程世界> 丰富多彩的编程世界 作者 陈光剑 第1章 名可名非常名 第2章 语言的构成 第3章 有趣的编程 第4章 编程语言大观 第5章 编程语言的组成 ...

  6. linux c编程项目实例,Linux c编程实例_例子

    例一:字符与整型变量的实现 #include int main() { int c1,c2; char c3; c1='a'-'A'; c2='b'-'B'; c3='c'-; printf(&quo ...

  7. 风变编程python第一关脸黑怪我喽_风变编程:Python适合编程初学者学习吗?

    来源标题:风变编程:Python适合编程初学者学习吗? 据百度大数据统计每月有4260705的用户在百度检索Python相关介绍,在大众周围,也总是充斥着各种如何学习Python的声音,许多人已经对于 ...

  8. java链式编程_Java 链式编程 和 lombok 实现链式编程

    一.链式编程定义 链式编程的原理就是返回一个this对象,就是返回本身,达到链式效果. 二.jdk中 StringBuffer 源码 我们经常用的 StringBuffer 就是 实现了链式的写法. ...

  9. python游戏编程入门书籍推荐-游戏编程入门书籍推荐:想要游戏编程尽快入门这些书不要错过...

    游戏编程一直都是编程之中的一大热点,这也是由于游戏本身的火热造成的结果,所以每年都有很多人在关注着游戏编程.介于此小编今天就来将一些好的游戏编程入门书籍推荐给大家,希望对想要了解和学习游戏编程的朋友能 ...

  10. 儿童编程软件python-MRT7-Python少儿编程下载

    MRT7-Python软件是韩端科技推出的少儿编程软件,分为图块Boclky 编程模式.Python代码编程模式,同时也可以配合设备使用!感兴趣的朋友不要错过了,欢迎大家下载体验. 软件介绍 图块Bo ...

最新文章

  1. Go语言封装Http协议GET和POST请求
  2. 智能水位检测系统proteus_基于单片机控制的智能检测系统Proteus仿真设计研究
  3. 牛客多校2 - Keyboard Free(几何)
  4. 树的宽度 递归法和非递归法
  5. TensorFlow学习笔记(二十六)CNN的9大模型之LeNet5的原理讲解
  6. IOS:批量导入图片和视频到模拟器的相册
  7. JSF技术的相关网站和BBS
  8. 程序设计导引及在线实践_学院经纬计算学院程序设计基础与实验入选首批国家级一流本科课程...
  9. Linux内存管理:ARM64体系结构与编程之cache(3):cache一致性协议(MESI、MOESI)、cache伪共享
  10. Java之将GB2312编码转化为汉字
  11. 解决MAC上网速度慢的原因
  12. Linux系统如何替换新硬盘
  13. android 图片轮播组件,Android客户端实现图片轮播控件
  14. WinINet 与 WinHTTP简介
  15. layui-layer.open打开新页面进行数据处理,处理完成后数据表格重载问题
  16. Mac上安装R语言运行环境及RStudio [超详细!~]
  17. 快速复制粘贴小工具txmouse
  18. 北航2021届计组 - 支持中断的CPU
  19. 前鼻音、后鼻音字对比;平、翘舌音的字对比;
  20. 连载26:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...

热门文章

  1. dll依赖查看工具-depends
  2. css中1cm等于多少px,px和rem换算(1rem等于多少px)
  3. Altium Designer10.1051图文安装教程
  4. hive建表语句comment 中文描述乱码
  5. n元均匀直线matlab,均匀直线阵天线的分析
  6. 深度学习中常用的激励函数
  7. 【Oracle】rollup函数
  8. 打印机计算机故障或繁忙,联想打印机繁忙是怎么回事?
  9. json接口(使用,以及自定义)
  10. Nginx常用配置和使用详解梳理