面试时带一只铅笔是一个程序员的基本素养
来源:互联网 发布:知乎 冷门游戏主机 编辑:程序博客网 时间:2024/04/28 02:23
怎么才能在学算法的时候学到背后的东西呢?有以下几点很重要:
1、不要觉得每个步骤都很显然,每个nontrivial的算法背后都有一段艰辛的探索经历,觉得显然的话必然是一种幻觉。Stay foolish,才能发现某些环节其实并不是那么显然的。
2、检验是否真正理解的最佳方法就是过一段时间之后,自己试着证明一次。如果真正理解了的话,你的证明便会比较顺畅。如果当时没有真正理解,那么凡是那些你当时觉得显然但其实不显然的地方,都会成为你证明里面缺失的环节。
3、对于一个算法,多寻找各种来源的资料,也许能够找到一个讲的比较深刻的。在《数学之美番外篇:快排为什么那么快》和《知其所以然(一)》里面都举到了这样的例子。
4、多试着去抽象背后的一般性法则,即便后来发现抽象得是错的,也比不去抽象要好。抽象是推广的基础。只有抽象出更深层的法则,才能让你事半功倍,触类旁通,否则一个萝卜永远是一个坑。(注意,其实我们的下意识是会进行一定程度的抽象的,例如前面提到的原始人的例子,小溪和小河(或者小沟)细节上是不同的,但本质上是一样的,我们的大脑会自动进行这种简单抽象,提出事物的共性。正因此,即便你不去有意识地总结一般规律,只要你看的足够多,练的足够多,必然就会越来越谙熟。)
阅读全文
0 0
- 面试时带一只铅笔是一个程序员的基本素养
- 一个java程序员的基本素养
- 程序员的基本素养
- 程序员基本的素养
- 熬夜是一个编程积极分子的基本素养
- 一个程序员的职业素养
- 写作能力是一项基本的信息素养
- 【素养】由一个简单算法想到的程序员素养问题
- 程序员基本素养
- 一个合格工程师的基本职业素养
- 《程序员的职业素养》中说“不”和说“是”
- (转)程序员的基本素养(很重要)
- 疯狂Java程序员的基本素养学习笔记
- 程序员的职业素养
- 程序员的素养
- [转]程序员的素养
- 程序员的素养
- 程序员的素养
- Toolbar的menu属性说明
- String、StringBuffer与StringBuilder之间区别
- Android样式的开发:Style篇
- spring boot教程(1) -- hello springbooot
- OAuth2 & Spring Security OAuth2 总结
- 面试时带一只铅笔是一个程序员的基本素养
- Hbase中的Coprocessor (总结7)
- 给锁住的行解锁(oracle)
- Lua_ uLua_Lua调用C#方法_020
- 观察者模式
- jvm系列 (四) ---强、软、弱、虚引用
- Arduino UNO R3 刷写bootloader
- 链表问题
- Solr搜索的基本工具类