如何才能轻松擅长数据结构和算法?
由 Freepik 设计
让我们首先澄清这个问题。没有任何简单的方法可以让你变得擅长任何事情,但是有一种高效的方法可以让你做任何事情。
让我们借助一个编程问题来试着理解简单和高效的区别吧!考虑“ 在排序数组 中搜索元素”的问题。
所以,这里的人甲以一种简单的方式解决了问题,而人乙以一种高效的方式解决了问题。
现在,学习数据结构和算法的有效方法取决于几个因素:
- 你以前的编程语言和基本的 DS 和 Algos 知识。
- 你想学习它的目的。
- 你可以利用的资源。
- 完美的向导!
现在让我们更深入地看看上面强调的每一点:
- DS 和 Algo 的先验知识:如果你已经精通基本数据结构,如数组、链表等。以及一些基本算法如排序、搜索等。那么你将会比一个完全的新手花费更少的时间,因为你已经知道了基本知识。例如,如果你甚至不理解文章开头提到的编程示例,那么你还有很长的路要走。
- 学习 DS 和 Algo 的目的:这也取决于你想要提高数据结构知识的目的。有些人学习它们是为了求职面试,有些是为了竞争性编程,有些是为了获取知识。如果你正在准备工作面试,那么你有一套有限的数据结构来学习哪些是面试中最常问的,如果你想成为一名优秀的有竞争力的程序员,那么你必须专注于复杂的数据结构,如段树、分维树、二进制索引树等。
- 可用资源:资源在学习任何东西的过程中扮演着最重要的角色。你需要一套好的教程,这些教程的描述性足以让你从基础到高级都清楚。你还必须有一套流行的问题来练习你所获得的知识。
- A Guide :姑且说上面三点你都想通了。你知道你想学习的东西,你知道你想学习的目的,你也有所有的资源和教程来做到这一点。但是你仍然对很多事情感到困惑,比如“从哪里开始?”,“如何开始?”等等。所以,你需要有人指导你完成这个过程。也就是说,必须有人帮助你以一种有效的方式使用可用的资源。
上述问题的解决方案:在 GeeksforGeeks 上,我们已经有了大量基于数据结构和算法的教程和问题,这些教程和问题是由全球一些优秀的有竞争力的程序员编写的。我们还有许多关于数据结构和算法的过去的、正在运行的和即将到来的课程,可以在geeks forgeeks-课程 上找到。
如果你正在准备面试,我们建议你通过以下链接:
如果你是一个有抱负的竞争性程序员,访问以下链接是必须的:
版权属于:月萌API www.moonapi.com,转载请注明出处