编程素人眼里的编程珠玑

@编程珠玑-吐槽向

编程素人眼里的编程珠玑

作为一个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)。

后记

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值