本小姐学了这么多算法, 却还没有写出一个学习总结出来
真是不可饶恕

前提

学习新算法的前提就是对新算法很感兴趣
对于本小姐来说, 兴趣占了学习动力的很大一部分
因此, 对于本小姐来说, 没有兴趣, 有怎样的学习技巧都是浮云

过程

首先是搜索关于新算法的相关资料
最好是纸质知识
本小姐的魔法属性的缘故, 会导致实体的知识更容易吸收
所以纸质知识是首选的知识来源
如果没有, 可以 wikipedia, 或者 google
为什么在这个阶段不选择 visualgo
因为本小姐在这个阶段应该是对这个新算法一无所知的状态
如果贸然选择可视化算法是没有帮助的

如果找到的知识是 思路
那是再好不过的了
搭配 思路图解, 会让本小姐更快的吸收知识
再来看样例代码的话, 就很轻松了
当然, 如果有十足的把握可以本小姐自己写出来
那就先将本小姐所想的代码写下来, 再与样例代码比较
找出异同, 以及与样例代码相比, 本小姐的代码有什么优点, 又有什么缺点

如果找到的知识只有 代码
那可能需要花点时间
本小姐会 仔细 将代码一行一行记在脑袋里, 并敲下来
记的时候, 要知道这行代码是干什么的
如果知道, 就写下注释, 如果这行代码用了之前定义的 变量/函数
就给定义这些 变量/函数 的地方打上注释, 说明这个 变量/函数 是干什么用的
如果不知道, 就怀着疑问继续往下看

看到代码末尾, 本小姐大概就对这个代码有初步的印象了
知道这段代码是怎样运行的
但大部分时候, 本小姐估计还不知道算法的核心思路
因此还要再从上往下, 结合本小姐对代码的印象, 试图了解算法的核心思路
如果还是不了解, 那只能上最后的必杀技了 – DEBUG
DEBUG 可以让本小姐轻松地了解整个代码执行的流程
大概执行 2~3 个循环的时候, 本小姐就能了解代码的核心思想了
在了解核心思想之后, 不要停止 DEBUG
带着本小姐所了解的核心思想, 继续向下 DEBUG
能够判断理解的是否正确, 同时也能一步一步加深本小姐对算法的理解

当本小姐觉得自己已经完全了解算法的时候
写一篇博客, 看一下 visualgo, 或者是刷几道相关的题目
是学习过后的最佳消遣了

理解的时候, 可以将思路说出来
如果身边有可以倾听的人的话, 也可以让她帮助本小姐理解, 有时也不失几分乐趣

最后

写了这么多
最后也只是给本小姐看的而已