如何学习数据结构与算法?过来人的建议!!!方法篇

Posted Linux猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何学习数据结构与算法?过来人的建议!!!方法篇相关的知识,希望对你有一定的参考价值。

 上一篇:如何学习数据结构与算法?过来人的建议!!!(一)【方法篇】对如何打基础进行了介绍,接下来就应该是实践的提升啦!赶紧看一下吧!

一、实践提升

实践提升可以通过许多的方法,比如:做项目,做练习题等。

我认为最实用、最直接、最快速的方法就是刷 ACM 算法题目,每个题目都会针对一个或多个算法进行考察,每道题目后台数据量足够大,可信度高。

温馨提示:在做题过程中遇到不会/不懂的知识点要学习总结哦!可以通过写博客的形式记录自己的成长。

下面就推荐几个OJ,大家可以去上面做题:

北京大学 POJ:

        北京大学POJ

杭州电子科技大学 HDOJ:

        杭州电子科技大学HDOJ

浙江大学 ZOJ:

        浙江大学ZOJ

国外 UvaOJ :

        国外UvaOJ

LeetCode 平台

        LeetCode 平台

二、做题技巧

暴力大法好,可不要贪杯哦!在做每一题的过程中,不仅要 AC 题目,也要注意分析时间和空间复杂度,有的题目可以用暴力解决,也可以用更优的方法解决,尽量优化算法,优化时间和空间复杂度!

在完成编码,测试数据的时候,不仅要通过测试样例,自己还需要出多组数据测试,因为后台还有很多数据,你只有通过了后台的所有数据才算你通过。

测试数据可以这样出:最小的情况(下边界)、最大的情况(上边界)、中间情况、其它特殊情况等,这样一般是比较稳妥的方法。

做题过程如果遇到不会的知识点,可以自行学习一下,然后通过博客记录自己的学习过程,这样记忆更加深刻,还可以让其它的小伙伴看到你的分享。

我从接触ACM不久就开始使用博客记录自己的学习过程,到现在也有 8 年多了。

三、编程工具推荐

1. VSCode

VSCode 是由微软开发的免费代码编辑器,支持很多功能,比如:代码调试、内置了Git 版本控制功能、代码补全(类似于 IntelliSense)、代码片段和代码重构等。

还支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数等,强烈推荐!

图1 VSCode 首页界面

可到官网下载:

https://code.visualstudio.com/

安装和配置教程:

https://blog.csdn.net/xundh/article/details/105831147

2. Codeblocks

Codeblocks 是一个开放源码的全功能的跨平台C/C++集成开发环境,是一个不错的编程工具,各种C/C++的编程功能都有,但更推荐编程竞赛使用,比如:ACM比赛更推荐使用这个。

图2 CodeBlocks 界面

官方下载连接:

https://www.codeblocks.org/downloads/

当然,还有其它的开发工具,比如:Dev-C++、Visual C++ 等,这些一般是学校里还在使用,更推荐使用 VSCode 和 Codeblocks。

后面的文章将会写一下更深入的学习算法的文章,敬请期待哦~

感觉不错点赞支持下吧,点击关注获取更多干货哦!有问题请评论区留言~

以上是关于如何学习数据结构与算法?过来人的建议!!!方法篇的主要内容,如果未能解决你的问题,请参考以下文章

机器学习算法神经网络与深度学习-7 DNN深度学习算法模型出现学习效果不好的情况,如何补救,对策如下,建议收藏。

过来人对大数据学习的建议

程序员该如何学习数据结构与算法?

排序算法精讲:选择排序和冒泡排序

[新星计划] 为什么要学习数据结构和算法?如何学习?

干货 :如何系统地学习数据挖掘