So do I really need to learn about them ? Isn't there an interesting way to learn about stacks, linked lists, heaps, etc ? I found it a boring subject.
**While posting this question it showed some warning. Am I not allowed to post such a question ? Admins please clarify and I will delete it :/
Warning :: The question you're asking appears subjective and is likely to be closed.
okay..I get it So what is THE best way to learn them ? What book do I refer ? What website ?
Data Structures and Algorithms are the most important and fundamental building blocks of computer science and any coding interviews. A good knowledge of data structures & algorithms is a must for designing and developing an efficient software application.
Overview. Data structure is a method of storing and organising data to make it more useful. The data structure is not written in any programming language, such as C, C++, or Java.
Data structures and algorithms are not compulsory for programmers but compulsory for better programmers. Programming is not always a straightforward task; programmers often meet problems that they need to solve. In fact, there can be multiple ways to implement a given feature in a particular software system.
Obviously Data Structure and Algorithm first.
YES, it is really necessary for a programmer to learn data structures and algorithms. Data Structure and Algorithms (DSA) are the basic requirements to learn to code. To become an expert in coding, you should first make your basics strong.
If you have to choose then Java is slightly easier since it has garbage collection and you are less likely to slip up with the pointers (forgetting an asterisk or two). Well if you are planning to program in C++ learning Java data structures seems the long way around.
Which language - Java or C++ is better/more convenient for practicing Data structures and Algorithms? To learn the overall stuff about DS (i.e. what a linked list is, how to traverse trees, how to calculate the slots in a hashtable, etc.), I'd use Java between those two.
Although programmers can instruct computers by any programming language like C++, C, Java etc. but to handle massive data and make it useful output, they require data structure and algorithms. You can learn data structure and algorithms from various sources like Books, YouTube Videos, Articles, Colleges (degree programs), online courses etc.
It's compulsory to learn about data structures if you want to be a programmer. Data structures are your bread-and-butter - if you don't understand things like the behavior, uses, and run-time complexity ('big-O') of at least the basic structures (arrays, linked lists, stacks, queues, trees (binary / n-ary, self-balancing varietes), hash-tables, heaps, graphs) and the algorithms that run on them (insert / locate / delete), you won't know which is appropriate to use under what circumstances.
Every trade has its tools; these are ours. Data structures are the most basic underpinnings of almost any algorithm that you're going to learn. Unless you want to be a cargo cult programmer, you need to understand how they work.
Whether or not there are interesting ways to learn about them is a separate question entirely... :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With