zoukankan      html  css  js  c++  java
  • 关于算法学习方法的讨论

      这是上一封信《自主性学习,用实践开路》的兴许讨论。

    【来信】

      老师,关于算法和数据结构我还是有点疑惑。你说要通过实践。我如今看到数据结构的图了,算法学习我借了刘汝佳的算法入门那本书,数据结构我把书中的代码在电脑上敲了出来,而且搞懂了第一行代码,也算是记住了思想。

    可是有时候敲完后会认为模糊。

    算法在看动态规划,对于动态规划里面提到的“状态”我还是不能非常好的理解。我想问问老师。假设长时间过后数据结构和算法的思想忘了怎么办。怎么学习数据结构和算法才算是正确的方法。学了将近20天的数据结构和算法,逐渐感觉到了别人所说的枯燥,究竟怎样安排学习这类知识的时间。问下,老师有没有算法的书籍推荐和比較明白的学习方法传授。谢谢老师。

    【回复:逐点讨论】

    老师,关于算法和数据结构我还是有点疑惑。 
    你说要通过实践,我如今看到数据结构的图了,——你该告诉我你实践到什么程度了。
    算法学习我借了刘汝佳的算法入门那本书,——是《算法竞赛入门经典》吗?这本书是好书,当作应用算法和数据结构解决这个问题的參考书就可以。

    可是若你正在学习数据结构期间,却将之当主线。我认为不妥。

    数据结构我把书中的代码在电脑上敲了出来。——我怀疑你用的材料不当了。数据结构中算法的描写叙述假设直接就用高级语言写出来了,非常不利于你进入“抽象”的层次。这样学来的数据结构和算法,仅仅能照猫画虎。眼前没猫。即使有虎,也画不出虎。
    而且搞懂了第一行代码,——疑是“每一行代码”的笔误。看代码假设是以行作为单位。那学习效果可想而知了。

    要先知总体,再一大块一大块,再看大块中的小块。

    也算是记住了思想。——假设算法思想是记住的。忘了就一点都不奇怪了。

    可是有时候敲完后会认为模糊。——由于你始终是仅仅见树木。不见森林。这影响了你学习的速度和感受。
    算法在看动态规划,——如今我感觉,你是将算法和数据结构分开学。算法学习的初期,算法能够有两种:一种算法是与数据结构紧密联系的。比如。各种基本数据结构上的基本操作。属于这一种。还有一种,体现计算机求解问题方法层面的算法。比如动态规划、贪心等。这两者间有交叉。基于对你学习路线已有的了解。我建议将这两种分开一些,先第一种。后另外一种。

    对于动态规划里面提到的“状态”我还是不能非常好的理解。——再找些同类的书,这本书上的说法没有明白,再一本的说法可能就对你胃口了。

    用好学校的图书馆。

    我想问问老师,假设长时间过后数据结构和算法的思想忘了怎么办。——忘了太正常了。理想的结果就是“得意而忘形”。

    而你前面描写叙述的,试图是“得形而记意”。改变学法为要。比如排序算法,拿出一副扑克来,说用高速排序。就严格照其思想。手工玩出排序过程。这个玩的过程都能够不去考虑代码该怎么写。玩熟练了,能够用某种语言写一敲代码。其它的算法,也要能够摆脱详细代码形态。以此去得意。这样学出来的。是不easy忘记的。

    关键是,做到了算法与语言无关。

    怎么学习数据结构和算法才算是正确的方法。——以上提示了一些,但也仅限于我的感觉。

    而对于你自己,要在学法上下功夫。你有更适合你自己的学法。仅仅是没有想到去自己发现。

    学了将近20天的数据结构和算法。逐渐感觉到了别人所说的枯燥。——这些知识实际是非常生动的,是学法不当所致。嘴里喊着枯燥。学这玩意就是活受罪。非常多人就是这样进入到冬眠状态的。

    究竟怎样安排学习这类知识的时间。——感觉烦了累了就歇息、调整一下,不要强求。不要指望过一遍就将知识掌握到一种非常精通的程度,不可能。

    多轮次地学,每一轮,都深入一点点。初始的轮次,仅仅求能学点皮毛就可以,仅仅求能解决点最简单的问题就可以,不必指望一次学习,就能把竞赛类的题轻松做下来。刚会个三步上栏,就要打NBA,那不是自找不痛快吗?做不来的,放在那儿等着回头就收拾。用轻松的心态去学习,而不要这样焦燥。

    问下。老师有没有算法的书籍推荐和比較明白的学习方法传授。——现阶段。你就用好手边的书就可以,而学习方法,我提示了一些。最适合你的方法,诞生在你自己的探索过程里。




    ================= 迂者 贺利坚 CSDN博客专栏=================
    |== IT学子成长指导专栏 专栏文章的分类文件夹(不定期更新) ==|
    |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
    |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
    ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====





  • 相关阅读:
    MySQL锁
    MySQL索引
    MySQL基础
    删除文件时提示:一个意外错误使您无法复制该文件夹0x80070570
    教育部认可的44项全国学科竞赛名单
    打开dnsmasq log
    使用gdb调试user程序
    ipv6获取地址
    vlc产生组播流
    xxl-job搭建、部署、SpringBoot集成xxl-job
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6725955.html
Copyright © 2011-2022 走看看