找回密码
 立即注册
楼主: KaaPexei

大一计科生,可以用哪些方法提高自己的算法水平?

[复制链接]
发表于 2021-8-4 15:48 | 显示全部楼层
免费的资源仓库(点击蓝色字体访问).rar - 蓝奏云
比较系统地学习数据结构的话,推荐看《大话数据结构》、《算法(第4版)》和《数据结构与算法分析》。
如果刚接触数据结构的话,可以从《算法图解》、《我的第一本算法书》入手。
视频
    郝斌数据结构
虽然比较老,但是讲的比较详细,容易理解,对初学者非常友好。
https://www.bilibili.com/video/BV1Ut411a7rN?from=search&seid=14411767501116137153
    数据结构-浙江大学
课程是由陈越与何钦铭共同录制,b站与慕课网都有,慕课网比较清晰一些
https://www.icourse163.org/course/ZJU-93001?from=searchPage#/info
    数据结构与算法基础
课程由青岛大学王卓老师录制,非常适合考研,讲的题比较多。
https://www.bilibili.com/video/BV1nJ411V7bd?p=1
多动手

动手去做,动手去做,动手去做。重要的话说三遍。
动手包括撸码,还包括"多画"
要边学习边画图。因为对于数据结构中的存储结构来说,尤其是树结构和图结构,存储结构确实比较复杂,仅靠空间想象难免会有披露,而通过亲手画图往往能避免很多“坑”,后面关于数据结构与算法的文章中,我也会加入一些动图。
把数据结构图形化,视觉化。在直觉上感受一个数据结构是什么样子的。使用它是什么感觉,抽象上和具体实现上是什么样子的。这就是最重要的事情。并且无论是对于简单的队列、栈还是平衡树都很重要而且有效。把数据结构画出来,在你的脑袋瓜里面就能想象出来,总之,你需要做的就是,直观的去了解这些数据结构。
在学习某些算法时,也可以借助画图来加深自己的理解。可以边阅读代码边画图,这样可以更快理清代码的实现逻辑。
在通过“多画”实现理解存储结构和实现逻辑的基础上,初学者还要“多撸码”编写实现代码。对于某一种存储结构或者算法,没有 3 遍以上自己独立的实现过程,是很难做到融会贯通的。
另外,可以在leetcode和牛客网多刷题。
数据库

MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷
https://www.bilibili.com/video/BV12b411K7Zu?from=search&seid=2779357081480449466
字节跳动50道高频算法.rar - 蓝奏云LeetCode101题解.rar - 蓝奏云最后

觉得有帮助的话,点个赞!!!
github发现一宝藏仓库,里面有很多资源,分享给大家,地址:https://github.com/tangtangcoding/C-C-

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-8-4 15:51 | 显示全部楼层
想找工作刷leetcode 学go整个技术栈topgoer.com 或者java整个技术栈 kuangstudy.com ;想读研读博,就别想这些东西,好好学学校的课,卷起来学,卷一定要卷。
发表于 2021-8-4 15:52 | 显示全部楼层
算法的确就是这么一种有趣的东西,同时逻辑思维能力也能够改变我们对于这个世界的一些看法,毕竟换一个角度来看问题得到的模样就是会有所不同的。
再就是想要提高自己的代码水平呢,说简单点也简单,说难也难,总而言之就是一句话:多学多练
这四个字确实是其貌不扬,而且在学习过程当中似乎总能听见有人这么说,但是真正能够付诸于行动的又有几个人呢,光动口不动手是永远成不了大事的,既然有了打算提升能力的想法就抓紧时间去准备然后着手去做,不要一味空想。
题主目前刚刚大一下,完全可以先利用好手里的教材,专业课老师讲的再细也不可能每一个案例都讲到吧,那么这些没有讲过的就需要自己再去看一遍并且动手做一遍,或者是也可以去图书馆找一些书籍来观看,当然还是最好以教材为主。
发表于 2021-8-4 15:55 | 显示全部楼层
现在大一下,老师在讲数据结构,有时会涉及算法。我觉得有些算法很难懂,但是懂了之后就会觉得很有趣,感觉计算机思维真的有改变我对世界多思考方式啊。
题主才刚刚大一下就对于算法如此感兴趣,真的是非常适合计算机科学与技术这个专业了,毕竟兴趣才是最好的老师,有了兴趣作为驱动力,不仅在学习的过程当中能够轻松很多,而且还能够在学习当中发现乐趣,这是很多大学生都很难达到的境界。
确实,克服难懂的部分以后就会感觉到非常有趣,其实科研人员也是如此吧,甚至就像是我们以前做数学题一样,花费了好多时间思考终于解出来了,带来的成果其实都是一种成就感,因为这种成就感也能够不断督促我们继续学习、继续探索。
想要提高算法水平,最好的方式就是勤于实践,先依据教材进行基础的练习,后期可以加上一些专业提升算法水平的书籍进行学习,一步一步来,夯实基础更加有助于后续提升。
发表于 2021-8-4 16:03 | 显示全部楼层
可以去oj上刷题,我比较推荐杭电oj
Welcome to Hangzhou Dianzi University Online Judge众所周知,光说不练假把式,多敲敲代码会对你有所帮助。


如果学有余力可以学清华邓公的数据结构。邓公yyds!
学堂在线上就有,而且免费,讲义也有提供,非常良心。
数据结构(上) - 清华大学 - 学堂在线

数据结构(下) - 清华大学 - 学堂在线关于学习这门课的注意事项,邓公也有亲自回答
数据结构注意事项
发表于 2021-8-4 16:10 | 显示全部楼层
oi Wiki
发表于 2021-8-4 16:18 | 显示全部楼层
刷leetcode吧,按照标签分类选择题目。入门的话先从双指针,数组,贪心这种标签里面选解答多的题目做。之后可以按照学习进度选择不同的数据结构和算法进行练习。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 13:38 , Processed in 0.093206 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表