受康奈尔笔记法启发设计的程序员算法手写本

  大多数程序员都习惯了平时在电脑上敲代码,但也有些情境要求咱们手写代码,好比平时学习时作纸质笔记,完成老师布置的课程做业,同事之间交流讨论讲解思路,ACM比赛时手写分析算法,还有最多见的面试手写算法等。昨天看了康奈尔笔记法,以为有点意思,因而想着把它应用到程序员的圈子里来,能够在面试等场合很好的向面试官阐述算法思路同时规范书写,但愿能给你们带来一些帮助。程序员

1、什么是康奈尔笔记法面试

图1.康奈尔笔记法算法

  5R笔记法,又叫作康奈尔笔记法,是用产生这种笔记法的大学校名命名的。这一方法几乎适用于一切讲授或阅读课,特别是对于听课笔记,5R笔记法应是最佳首选。这种方法是记与学,思考与运用相结合的有效方法。框架

  康奈尔笔记系统把一页纸分红了三部分,就是左边四分之一左右和下面五分之一左右的空间单独划拨出来。右上那最大的空间是咱们平时作笔记的地方,你按照你的习惯记录就好了;左边那竖着的一条空间叫作“线索栏”,是用来概括右边的内容的,写一些提纲挈领的东西,这个工做不要在作笔记的时候作,而是在上完课以后立刻回顾,而后把要点都写到左边,这样一方面立刻复习了内容,另外一方面理清了头绪。下面那横着的一栏是用来作总结的,就是用一两句话总结你这页记录的内容,这个工做能够延后一点儿作,起到促进你思考消化的做用,另外也是笔记内容的极度浓缩和升华。

  自从沃尔特·波克博士发明了康奈尔笔记法以来,这一笔记法被普遍应用于听课、阅读、复习和记忆材料。使用这一笔记法可让你的笔记系统化,使你主动融入到知识的创造中去,提升你的学习力,从而帮助你取得学习成果。学习

 2、程序员算法手写本设计思想测试

图2.程序员算法手写本设计图优化

  程序员算法手写本采用了康奈尔笔记法的三大模块划分原则,同时结合了程序书写自己的特性,共分为如下三个部分:spa

(1)【思路】:理清算法思路,能够图文并茂的分析算法,写出算法实现步骤、边界条件和测试用例等,为算法实现奠基基础,好的思路不只能有效的向他人展现你的思考过程,帮助你清晰地写出算法,更能有效减小手写算法代码难以反复修改的弊端。(tip:可在“思路”上方留白处简单写上算法题目做为标题。)设计

(2)【算法实现】:根据上一步已经造成的思路,一步步写出相应的算法实现,行号模拟平时编译器里写代码的习惯,有助于规范格式和向他人讲解算法实现思路,为算法交流提供便利,为何设计32行我想大家都会懂,由于程序员对这个数字很敏感,但愿你也喜欢。(tip:可在“算法实现”上方写出对程序的命名,如程序须要几页纸共同实现也能够在这里标明页码。)3d

(3)【总结反思】:分析算法的时间复杂度和空间复杂度,总结所用的方法和能够进一步优化改进的地方,为解决follow up问题提供方案,写完代码后和面试官的交流过程均可以在这里继续进行分析。

3、如何使用

 笔者本身制做成了A4竖开的本子以方便使用,你们在写代码时能够本身在白纸本上画出这样的框架来启迪思路,让你的手写算法更规整更具说服力,也能够和如今很是流行的“方格本”结合使用(《聪明人用方格笔记本》这本书里详细讲解了它的用法和好处,此处再也不赘述。),同时笔者提供了一个word版的“程序员算法手写纸”,很方便修改和定制,你们若是须要能够直接打印使用。东西虽然很简单,但笔者很用心的思考怎样才能用纸写出更优雅的程序,打动你的面试官。

图3.《程序员算法手写本》

 

  好了,轮子作好交给大家了,但愿大家喜欢,如转载或用做其余用途请留言告知^__^。

 

  附:“程序员算法手写纸word版”百度云连接:http://pan.baidu.com/s/1pLi1aeZ 密码:oltr

相关文章
相关标签/搜索