• 从学算法体会如何更好的学习


    一、第一次学习算法

    记得第一次学习《数据结构和算法》还是在大学的必修课里,是严蔚敏那一版。

    那个版本的算法跟《算法导论》一样,代码使用的是伪代码。

    而我们学习的时候,并没有掌握任何一门编程语言。

    所以这门课就变成了一门纯理论课。

    我是十分重视这门课的,课本也翻了不止一遍,然并卵,看了后面就忘了前面。看完全书全忘光了。

    期末考试还是通过一些见不得人的手段勉强及格的。

    从我现在的角度来看,当时读课本对知识的收获,大概也就是了解了一些基本的概念,对于算法的精髓,边都没摸到。

    总的知识的掌握,估计也就5%

    二、第二次学习算法

    第二次学习算法已经是毕业多年以后,有一阵工作不是很忙,我边学习C语言,边用C语言实现一些基本的算法。

    当时已经开始写算法,当然有一些是从网上抄过来的,网上有一些别人写好的代码。

    又从一些教程,比如《数据结构与算法:C语言实现》,还有软考的一些视频、ppt教程,也涉及一些基本的算法

    比如数组,链表,堆,二叉树等,更深更复杂一些的,自己就写不出来了。

    从现在的角度看,这些对知识的掌握,估计有20%~30%

    三、第三次学习算法

    第三次的学习算法,大概是自己对python语言的学习有一定程度之后。

    用python实现了一遍基本的数据结构和算法,算是对第二次学习的加深。

    这一次除了第二次的基本数据结构外,又添加了8种排序算法。那个时候写算法还很慢,8种排序大概需要5天才能写完。

    这个阶段已经基本不需要抄别人的算法,都是自己写,已经可以很熟练的实现递归,可能效率不是很高,但都已经是自己的思考。

    现在来看,对知识的掌握,大概也就40%

    四、第四次学习算法

    第四次系统的学习算法是在极客时间订阅了王争老师的教程《数据结构与算法之美》。

    王老师算法功力深厚,讲解深入浅出,课程很棒。但这个阶段因为有了娃,时间很紧张。

    只是匆匆听了一遍课程,并没有跟着写代码,也没有做随堂练习。

    这一遍下来只能算是对算法的整体知识图谱有了更全面的了解,对于一些高层次的算法思想比如分治/回溯/贪心/动态规划有了一些概念上的了解,

    但写不出来,也没有深入理解。

    对算法的理解,大概有50%

    五、第五次学习算法

    第五次学习算法,是在学习完王争老师的《设计模式之美》之后。

    这门课我自认为学习的还是不错的,而且在实际的项目中也有了运用,实际效果很好。

    让我深入体会到设计模式的强大。

    这门课学习的时候我是边学边写代码的,每一种设计模式,我都会自己设想一个场景,然后用这个设计模式把它实现。

    通过这种边学边写的方式,学完了,也学会了。效果很好。

    因此我想复制这种学习模式到算法的学习上来,所以跑到了leetcode开始刷题。

    可以说这次的学习是最虐人的,因为自己已经有多年的工作经验,但是对于一些题目,要么没有思路,要么提交多次才能通过。

    一天下来只能通过5~6道题目。更深刻的理解到古人所讲“学然后知不足”,

    刷了一百道题后,做题速度有所长进,也有一些官方题解没有想到的新奇算法想出来,然后分享出来。

    但发现自己写出来能通过的代码是一方面,把自己的思路逻辑清晰的讲解透彻也更难,这应该就是“教然后知困”吧

    但也是通过这次教的体验,才发现只有能把这个算法教给别人,自己才算是真正理解了这个算法,

    否则如果自己都理不清楚逻辑,还通过了测试,那只能说之前的通过可能只是恰好瞎猫碰到死老鼠罢了。

    这次的学习历程才刚刚开始,不敢说自己掌握了多少,但我知道我已经找到门路了。

    分享一张从陈皓老师的《左耳听风》复制过来的学习金字塔给大家,希望每个人都有自己的收获。

    引用周志明老师的一句话作为结尾:“技术人员的成长是有“捷径”的,做技术不仅要去看、去读、去想、去用,更要去写、去说。”

  • 相关阅读:
    解决png图像透明问题
    常用的CSS命名规则
    站点跨域登录
    SVN服务器配置
    开源方便的PHP & Flash图表:Open Flash Chart
    php+mysql无限级分类(非递归)
    地址栏显示图标 Shortcut Icon
    mysql set类型和enum类型
    通过 WebDAV 协议访问版本库(http://)
    年薪第一的数据库工程师是怎样炼成的
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/16753303.html
Copyright © 2020-2023  润新知