不知道如何着手算法学习。
目前大一,只学习了C语言,想要继续发展。
没有找到合适的网络课程,一直抱着书啃又觉得没有效果。现在一边刷算法题,一边慢慢补,但有时又感觉跨度太多。
请问有什么比较好的学习思路和推荐吗?实在感谢!
首先问你一个问题,什么是算法?
很多人学算法,没有想明白这个问题。他们不动脑子就说,算法就是解决问题的方法。
那么你仔细想想,为什么算法书不收录怎么计算圆周率,或者怎么计算明天买什么股票这样的问题,难道这些问题不需要解决么?还是过于简单了?
这个问题看似有点可笑,但是你想明白了就事半功倍。
那就是算法不是解决问题的办法,而是有了解决问题的办法,对其进行存储和运算量降低进行优化的办法。
一切算法的出发点都是这里,所以说学算法你要搞清楚的是,解决问题通常的办法是什么,一个算法是怎么改进这个办法的。
这样去思考,所有的算法问题不再是一个一个孤立的问题,而你也找到了他们内在的联系和规律。
以上,我一个字一个字写给你的。希望对你有用,希望我的付出不会被辜负。
建议看看b站鹏哥的课,然后买一下C语言三剑客那三本书,很有用,希望对你有帮助
参考GPT和自己的思路:
作为一个计算机顶尖研究员,我可以理解你的困惑。算法学习不仅需要持续坚持,还需要找到适合自己的学习方法。以下是我给你的一些建议:
选择合适的学习资料:既然你已经学习了C语言,那么可以考虑从C语言的角度来学习算法,例如《算法竞赛入门经典——训练指南》就是很不错的学习资料。此外,可以尝试一些在线学习网站或者书籍,例如LeetCode、算法导论等。
练习算法题目:算法题目练习是非常重要的一环。可以在上述学习资料中找到一些例题作为练习,或者去一些算法题库练习(例如LeetCode、牛客网等)。
寻找学习资源:可以尝试一些MOOC(例如Coursera)、学术论文、博客等不同的学习资源,不同的角度可能会让你更好地理解算法。
和他人交流:可以加入一些算法学习的社群(例如ACM俱乐部),在那里可以和其他人交流、学习、讨论,不断提高自己。
最重要的是,要保持积极的学习态度和持久的学习习惯。不要气馁,坚持练习,多思考问题,相信你肯定会有所收获!
建议先去看看数据结构,这是算法的基础,一定要熟悉树、图等各种数据结构的知识才能学好算法。
然后可以去参考一些经典的算法模型,像贪心算法等等,很多算法题都是在这些算法的基础上进行延伸。
之后就去刷题,不会了就去看看大神的思路,然后自己写出来。
你要学算法,其实跟学数学是一样的
它们都是有内在套路的,哪些题型应该用哪些套路,你需要刷题,刷多了自然就清楚了
光抽象的去理解,那遇到具体的问题肯定就麻了呀
强推 浙江大学 陈越老师 的数据结构与算法,超级棒,B站和中国大学MOOC都可以看
不知道你这个问题是否已经解决, 如果还没有解决的话: