如何学习数据结构与算法?过来人的建议!!!方法篇
Posted Linux猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何学习数据结构与算法?过来人的建议!!!方法篇相关的知识,希望对你有一定的参考价值。
上一篇:如何学习数据结构与算法?过来人的建议!!!(一)【方法篇】对如何打基础进行了介绍,接下来就应该是实践的提升啦!赶紧看一下吧!
一、实践提升
实践提升可以通过许多的方法,比如:做项目,做练习题等。
我认为最实用、最直接、最快速的方法就是刷 ACM 算法题目,每个题目都会针对一个或多个算法进行考察,每道题目后台数据量足够大,可信度高。
温馨提示:在做题过程中遇到不会/不懂的知识点要学习总结哦!可以通过写博客的形式记录自己的成长。
下面就推荐几个OJ,大家可以去上面做题:
北京大学 POJ:
杭州电子科技大学 HDOJ:
浙江大学 ZOJ:
国外 UvaOJ :
LeetCode 平台
二、做题技巧
暴力大法好,可不要贪杯哦!在做每一题的过程中,不仅要 AC 题目,也要注意分析时间和空间复杂度,有的题目可以用暴力解决,也可以用更优的方法解决,尽量优化算法,优化时间和空间复杂度!
在完成编码,测试数据的时候,不仅要通过测试样例,自己还需要出多组数据测试,因为后台还有很多数据,你只有通过了后台的所有数据才算你通过。
测试数据可以这样出:最小的情况(下边界)、最大的情况(上边界)、中间情况、其它特殊情况等,这样一般是比较稳妥的方法。
做题过程如果遇到不会的知识点,可以自行学习一下,然后通过博客记录自己的学习过程,这样记忆更加深刻,还可以让其它的小伙伴看到你的分享。
我从接触ACM不久就开始使用博客记录自己的学习过程,到现在也有 8 年多了。
三、编程工具推荐
1. VSCode
VSCode 是由微软开发的免费代码编辑器,支持很多功能,比如:代码调试、内置了Git 版本控制功能、代码补全(类似于 IntelliSense)、代码片段和代码重构等。
还支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数等,强烈推荐!
可到官网下载:
https://code.visualstudio.com/
安装和配置教程:
https://blog.csdn.net/xundh/article/details/105831147
2. Codeblocks
Codeblocks 是一个开放源码的全功能的跨平台C/C++集成开发环境,是一个不错的编程工具,各种C/C++的编程功能都有,但更推荐编程竞赛使用,比如:ACM比赛更推荐使用这个。
官方下载连接:
https://www.codeblocks.org/downloads/
当然,还有其它的开发工具,比如:Dev-C++、Visual C++ 等,这些一般是学校里还在使用,更推荐使用 VSCode 和 Codeblocks。
后面的文章将会写一下更深入的学习算法的文章,敬请期待哦~
感觉不错点赞支持下吧,点击关注获取更多干货哦!有问题请评论区留言~
以上是关于如何学习数据结构与算法?过来人的建议!!!方法篇的主要内容,如果未能解决你的问题,请参考以下文章