2019独角兽企业重金招聘Python工程师标准>>>

刘未鹏谈如何学习算法,很有指导意义,特摘录一段于此。

那到底什么样的才算是授人以渔的呢?波利亚的《如何解题》绝对算是一本,他的《数学的发现》也值得一看。具体到算法书,那就不是光看text book就足够的了,为了深入理解一个算法的来龙去脉前因后果,从一个算法中领悟尽量深刻的东西,则需要做到三件事情:

  • 寻找该算法的原始出处:TAOCP作为一个资料库是绝对优秀的,基础的算法只要你能想到的,几乎都可以在上面找到原始出处。查到原始出处之后(譬如一篇paper),就可以去网上搜来看了。因为最初的作者往往对一个方案的诞生过程最为了解。比如经典数据结构中的红黑树是出了名的令人费解的结构之一,但它的作者Sedgewick一张PPT,给你讲得通通透透,比算法导论上的讲法强上数倍。
  • 原始的出处其实也未必就都推心置腹地和你讲得那么到位:前面说过,算法设计出来了之后人们几乎是不会去回顾整个的思维过程细节的,只把直指目标的那些东西写出来。结果就又是一篇欧几里德式的文章了。于是你就迷失在一大堆“定义”、“引理”、“定理”之中了。这种文章看上去整个写得井井有条,其实是把发明的过程整个给颠倒过来了,我一直就想,如果作者们能够将整个的思路过程写出来,哪怕文字多上十倍,我也绝对会比看那一堆定义定理要容易理解得多。话说回来,怎么办?可以再去网上找找,牛人讲得未必比经典教材上的差。那倘若实在找不出好的介绍呢,就只能自己揣摩了。揣摩的重要性,是怎么说都不为过的。揣摩的一些指导性的问题有:为什么要这样(为什么这是好的)?为什么不是那样(有其它做法吗?有更好的做法吗?)?这样做是最好的吗?(为什么?能证明吗?)这个做法跟其它的什么做法有本质联系吗?这个这个的区别是什么?问题的本质是什么这个做法的本质又是什么?到底本质上是什么东西导致了这个做法如此..?与这个问题类似的还有其它问题吗?(同样或类似的做法也适用吗?)等等。
  • 不仅学习别人的思路,整理自己的思路也是极其重要的
  • :详见

《跟波利亚学解题》的“4. 一个好习惯”和“7. 总结的意义”。

全文请转到:  http://blog.csdn.net/pongba/article/details/2622713

转载于:https://my.oschina.net/zengsai/blog/30210

刘未鹏谈如何学习算法相关推荐

  1. 【转载】刘未鹏的C++学习历程 + 小诗一首

    在上大学以前我从未涉及过编程这一领域,倒是对电脑比较感兴趣,这里所说的"电脑"是指粗浅的应用,我会为了从某一本杂志上看到了一则修改注册表的技巧而兴奋不已,然后回家赶紧尝试,却不名就 ...

  2. 读刘未鹏《暗时间》的总结和思考

    请访问我的个人博客:www.lijinma.com 花了两个晚上读完了刘未鹏的暗时间,心中窃喜.今天再次翻看这本书进行浏览总结并思考,通过这本书我到底学到了什么? 1. 为什么人人都应该学点心理学? ...

  3. 好久没有看到这么有建设性德文章,由衷地赞叹《知其所以然地学习(以算法学习为例)》-By 刘未鹏(pongba)

    知其所以然地学习(以算法学习为例) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) Updated(2008-7-24):更新见正文部分,有标注 ...

  4. 转载:知其所以然(以算法学习为例) 作者: 刘未鹏

    作者: 刘未鹏  发布时间: 2016-07-23 18:41  阅读: 3917 次  推荐: 11   原文链接   [收藏]   原文发表于2008年 其实下文的绝大部分内容对所有学习都是同理的 ...

  5. 【我在南京大学的7年】--转自刘未鹏

    博文视点的周筠老师最近在做一本书,讲述一些业内朋友走过的路,给自己和给别人以 一些借鉴.我也借着这个机会把发生在过去7年中的重要的事情回顾了一下. =======正文====== 跨进南大校门的第一天 ...

  6. 读书笔记2013-1--暗时间(刘未鹏)

    暗时间(刘未鹏)读书笔记 1.过早退出是一切失败的根源 2.兴趣遍地都是,专注和持之以恒才是真正稀缺的 3.反思是改变自己的第一步,我们常常容易发现别人的问题,别人的错误,却难以发现自己思维中的问题, ...

  7. 刘未鹏:为什么你应该(从现在开始就)写博客

    今天转载一篇刘未鹏10多年前的一篇博客<为什么你应该(从现在开始就)写博客>,我觉得总结的非常好,上大学的时候我就看过了,因为这篇博客所以我从13年开始坚持写博客.刘未鹏最近博客也不更了, ...

  8. 程序员中"5%神话";刘未鹏:为什么你应该写博客

    程序员中"5%神话":刘未鹏:为什么你应该写博客 http://timyang.net/programming/mythical-5/ Bruce Eckel(Thinking in Java/C++ ...

  9. 笔记:刘未鹏思考的技术与艺术(原“学会思考”)

    在读<暗时间>这本书的时候了解到刘未鹏,也了解到关于心理学"学会思考"的豆列,推荐的书很棒,体系也很完善,特作记录. 豆列的地址在: https://www.douba ...

最新文章

  1. 技巧 | OpenCV程序执行时间计算
  2. mysql设置远程访问
  3. Weka 3.7.12源码学习、阅读、分析(1)
  4. Mybatis解析动态sql原理分析
  5. pve 群晖 virtio速度慢_群晖DS Note高级教程——教你使用智能记事本
  6. idea 这么还原debug_看源码,我为什么推荐IDEA ?
  7. Intel Realsense D435 python 实战(二)
  8. expected:instruction or directive
  9. 火狐linux版更改语言,Selenium更改firefox浏览器语言python m
  10. 作业 20180925-1 每周例行报告
  11. linux 下后台运行python脚本
  12. 小巧数据库 Apache Derby 使用攻略
  13. mac mysql 账户密码忘记_MAC下MYSQL数据库密码忘记的解决办法
  14. 版本管理工具git常用命令
  15. html 警告图标,HTML+CSS入门 CSS实现核辐射警告标志
  16. SSR门户项目爬坑之路(一)
  17. linux启用dcb步骤,Linux内核DCB子系统
  18. 《2020版JavaScript基础入门教程全集》,助你一臂之力!
  19. 浙大高分子物理郑强教授的激情演讲
  20. HTML5期末大作业:商城页面——仿优分购电商静态网页(7个页面) HTML+CSS+JavaScript 电商购物网页HTML代码 学生网页课程设计期末作业下载 大学生网页设计制作成...

热门文章

  1. 一键添加JAVA环境变量
  2. Markdown学习测试
  3. 电话订票每日开始时间(几点放票) - 北京本地宝
  4. 与 Josh Bloch 探讨 Java 未来
  5. php采集百度推荐词,php抓取百度快照、百度收录、百度热词程序代码_PHP教程
  6. Nginx Http 过滤模块
  7. python全栈开发第36天------GIL全局解释锁、死锁现象和递归锁、信号量、Event事件、线程...
  8. python-MySQLdb-练习
  9. Asp.net常用的操作函数
  10. JavaScript 学习(2) - JS的内建对象