数据结构与算法最好的书_学习数据结构和算法的最佳方法
数据结构与算法最好的书
In this article, we are going to look for the basic question which every enthusiastic undergrad starting with computer science always gets into.
在本文中,我们将寻找基本的问题,从计算机科学开始的每个热情的本科生总是会遇到这个基本问题。
学习数据结构和算法的最佳方法 (Best Way to Learn Data Structures and Algorithms)
If you are reading this article you probably are familiar with the fact that Data structures and Algorithms are the must to do things if you are studying Computer Science, You may be doing development or competitive coding or open source but it is very important to learn at least the basics of data structures and algorithms.
如果您正在阅读本文,则可能熟悉以下事实:如果您正在学习计算机科学,则必须做的事情就是数据结构和算法,您可能正在从事开发或竞争性编码或开放源代码,但是学习以下内容非常重要至少是数据结构和算法的基础。
为什么要使用数据结构和算法? (Why Data Structures and Algorithms?)
Before starting to learn anything you must know the purpose of it, so before you get started with any new data structure or algorithms try to understand why is this needed, what is the problem and how this new data structure will solve it. Sometimes the problem can be the complexity of use of the previous data structure or sometimes it can be the ease of use. Whatever it is you must understand the problem so that you can understand the basic purpose of data structure.
在开始学习任何东西之前,您必须了解它的用途,因此,在开始使用任何新的数据结构或算法之前,请先弄清为什么需要这样做,出现了什么问题以及该新数据结构将如何解决它。 有时问题可能是先前数据结构的使用复杂性,有时可能是易用性。 无论是什么,您都必须了解问题,才能理解数据结构的基本目的。
了解学习顺序 (Understand the Learning Sequence)
Data structures are built using a previous data structure and algorithms use the understanding of some previous algorithms as facts, so it very important to learn things in a particular sequence. You cannot just start with trees without understanding how an array works.
数据结构是使用先前的数据结构构建的,算法将对某些先前算法的理解作为事实,因此以特定顺序学习事物非常重要。 您不能只从树开始而不了解数组的工作原理。
时间和空间的复杂性非常重要 (Time and Space Complexities are Very Very Important)
Whenever you are done with studying a new data structure it is very important to know the time complexities of every operation which that particular data structure performs. As every algorithm can be designed with a vast majority of data structures it is important to decide which will the best in some particular case. This trade-off can be decided using the time and space complexities of algorithms so it is very important that you understand them clearly.
无论何时完成新数据结构的研究,了解特定数据结构执行的每个操作的时间复杂性都非常重要。 由于可以用绝大多数数据结构设计每种算法,因此重要的是确定在某些特定情况下哪种算法最好。 可以使用算法的时间和空间复杂度来决定这种权衡,因此清楚了解它们非常重要。
竞争性编程 (Competitive Programming)
Competitive Programming can help you understand the use of different data structures with lots of practical problems that we commonly do not encounter even in large-sized projects. Websites like codechef, codeforces, and spoj are helping thousand of programmers to get started with understanding data structures in depth.
竞争编程可以帮助您了解不同数据结构的使用,这些问题甚至在大型项目中也常常遇到许多实际问题。 喜欢的网站 codechef , codeforces 和 SPOJ 正在帮助程序员千上手深入了解数据结构。
实践,实践与实践 (Practice, Practice and Practice)
Ultimately there is no easy way to success if you want to master data structures and algorithms you need lots and lots of practice. Do not just read through internet articles explaining data structure, understanding them is very important. Code the basic structure of all the data structures. Write code for every algorithm you learn that way you will know very basic and small stuff about them. Never skip things until you understand them perfectly as they will surely haunt in the later stages of your carrier.
最终,如果您想掌握数据结构和算法,则需要大量的练习,这是没有简单的成功方法。 不要仅仅阅读解释数据结构的互联网文章,了解它们非常重要。 编码所有数据结构的基本结构。 为您学习的每种算法编写代码,您将了解它们的基础知识和少量知识。 除非您完全理解它们,否则切勿跳过,因为它们必定会在您携带者的后期阶段困扰。
导师与资源 (Mentor and Resources)
Not everything you can learn on your own so having a good mentor in the process is very very important. It can be a book or a person but having a guide will surely help. There are different terminologies used in computer science and therefore you may get confused while learning new things, therefore it is advised to remain consistent with the resources you are trying to learn.
并不是您可以自己学习所有内容,因此在此过程中拥有一位良好的导师非常重要。 可以是一本书,也可以是一个人,但是一定要有指南会有所帮助。 计算机科学中使用了不同的术语,因此在学习新事物时您可能会感到困惑,因此建议与尝试学习的资源保持一致。
最好的书籍,学习数据结构和算法 (Best Books to Learn Data Structures and Algorithms)
Here is the list of some popular books that you can refer to learn DSA easily.
以下是一些您可以参考的热门书籍清单,可以轻松地学习DSA。
-
Data Structures and Algorithms Made Easy by Narasimha Karumanchi
-
Data Structures Through C in Depth by S.K.Srivastava/Deepali Srivastava
通过视频学习DSA (Learn DSA by Videos)
You can also learn by the video series made by us.
您也可以通过我们制作的视频系列学习。
Comment down below if you are getting any problem in learning dsa. We will try to solve your queries.
如果您在学习dsa时遇到任何问题,请在下面评论。 我们将尽力解决您的疑问。
翻译自: https://www.thecrazyprogrammer.com/2020/05/best-way-to-learn-data-structures-and-algorithms.html
数据结构与算法最好的书