📜  如何轻松地擅长于数据结构和算法?

📅  最后修改于: 2021-05-04 14:08:16             🧑  作者: Mango

由Freepik设计

让我们首先澄清这个问题。没有什么简单的方法可以胜任任何工作,但是有一种有效的方法来完成每件事。

让我们尝试通过编程问题来了解简单与高效之间的区别!考虑“搜索排序数组中的元素”的问题。

  • 人员A通过使用线性搜索算法解决了上述问题。
  • 人员B通过使用二进制搜索算法解决了上述问题。

因此,这里的人A以简单的方式解决了问题,而人B以有效的方式解决了问题。

现在,学习数据结构和算法的有效方法取决于几个因素:

  1. 您对编程语言和基本DS和Algos的先验知识。
  2. 您要学习的目的。
  3. 提供给您的资源。
  4. 完美的指南!

现在让我们更深入地看一下上面突出显示的每个点:

  • DS和Algo的先验知识:如果您已经熟悉诸如数组,链接列表等基本数据结构以及诸如排序,搜索等一些基本算法,那么相对而言,您所花的时间要比完整的新手少得多。您已经了解了基础知识。例如,如果您甚至不理解本文开头提到的编程示例,那么您还有很长的路要走。
  • 学习DS和Algo的目的:这还取决于您要提高数据结构知识的目的。有些人通过面试来学习它们,有些人则是为了竞争性编程而学,有些是为了获得知识。如果您要准备求职面试,那么您学习的数据结构将非常有限,这是面试中最常被问到的,如果您想成为一名优秀的有竞争力的程序员,那么您将必须专注于复杂的数据结构,例如细分树, Fenwik树,二叉索引树等
  • 可用资源:资源在学习任何东西方面都扮演着最重要的角色。您需要一套良好的教程,这些教程要具有足够的描述性,以清除从基础到高级的所有概念。您还必须回答一些常见问题,以练习所学知识。
  • 指南:假设您已经了解了以上三点。您知道要学习的东西,知道要学习的目的,并且您拥有所有的资源和教程。但是您仍然对诸如“从哪里开始?”,“如何开始?”之类的很多事情感到困惑。等等。因此,您需要有人来指导您完成该过程。那一定是有人可以帮助您有效地使用可用资源。

解决上述问题的方法:在GeeksforGeeks ,我们已经收集了大量基于数据结构和算法的教程和问题,这些教程和问题是由全球一些优秀的竞争程序员编写的。我们也有许多关于数据结构和算法的过去,正在运行和即将举行的课程,这些课程可以在GeeksforGeeks-Courses上找到。

如果您准备面试,我们建议您通过以下链接:

  • 放置准备指南
  • 分步准备分步指南
  • 面试问题中的十大算法
  • 面试题中的十大算法套装2
  • 如何为顶级跨国公司做准备?
  • 须藤安置

    –>面试准备档案

如果您是一位有抱负的竞争程序员,则必须访问以下链接:

  • 如何开始竞争性编程?
  • 如何成为竞争性编程的大师?
  • 进行竞争性编程的一种更好的方法
  • 编程技巧和窍门
  • 编程技巧和窍门|套装2
  • 先进的数据结构
  • 竞争性编程的十大算法和数据结构

    –>竞争编程档案