βͺ What is DSA?
β DSA stands for "Data Structures and Algorithms"
β DSA is a subject of study and, practice mostly in "Programming Domain"
β Unlike popular belief, DSA is not one thing, rather 2 tightly coupled topics.
βͺ What is a Data Structure?
A data structure is a way of organising (or, collecting) the data so that it can be used efficiently and effectively.
βͺ What is an Algorithm?
An algorithm is a set of instructions for solving a problem or accomplishing a task.
1οΈβ£ Who should learn?
βͺ You don't necessarily have to be a programmer to learn DSA.
βͺ You should learn if you are interested in solving problems and/or organising data.
2οΈβ£ Why to learn?
βͺ If there are so much "clumsy data" that you are going to handle, learn about "data structures" for better organising it.
βͺ If you are trying to "solve a problem or accomplish an unfinished task", learn about various algorithms.
3οΈβ£ What should we start with?
βͺ If you are not going to program, you just need a pen and paper to start with.
βͺ If you would program, you need a programming language.
βͺ Which programming language is better for DSA?
β Anything is fine
But a language with π features should mostly be preferred
β Structures/Objects
β Allocation and deallocation of memory
β References (Pointers)
β Raw Arrays
For various reasons, C/C++ are highly preferred
4οΈβ£ How much is necessary?
βͺ Tough thing to answer. But learn as much required for your job to be done.
βͺ Basic knowledge is very important.
βͺ Here I provide a basic list. Choose what is required for you.
4οΈβ£.1οΈβ£ Data Structures
β Array
β³ 1-Dimensional
β³ Multi Dimensional
β Linked List
β³ Single
β³ Double
β³ Circular
β Stack
β Queue
β Set
β Hash Table
β Tree
β³ Binary Tree
β³ Binary Search Tree
β Graph
β’ The questions covered here are mostly conceptual
β’ I do not claim only these type of questions are/should be asked during interviews
β’ For interviews, you should have fundamentals strong. And you should be able to provide solutions to practical problems.
β’ The questions covered here are mostly conceptual
β’ I never claim only these type of questions are/should be asked during interviews
β’ For interviews, you should have fundamentals strong. And you should be able to provide solutions to practical problems.