DSA - Starter Kit πŸš€

⇨ Who should learn?
⇨ Why to learn?
⇨ What should we start with?
⇨ How much is necessary?
⇨ Where to learn?

A comprehensive startup, oops "Starter Kit"

⇩
0️⃣ Let's Talk

βœͺ 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
4️⃣.2️⃣ Algorithms

β†’ Sorting
β†’ Searching
β†’ Reversing
β†’ Rotating
β†’ Grouping
β†’ Divide and Conquer
β†’ Recursive
β†’ Greedy
β†’ Dynamic Programming
5️⃣ Where to learn?

β†’ Books
β†’ Blogs/Articles
β†’ Videos/Courses
β†’ Practice/Challenge
5️⃣.1️⃣ Books

1️⃣ Grokking Algorithms
Author: Aditya Bhargava

2️⃣ Introduction to Algorithms
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein

3️⃣ Introduction to Algorithms
Author: Udi Manber
4️⃣ The Algorithm Design Manual
Author: Steven S. Skiena

5️⃣ Algorithms
Authors: Robert Sedgewick & Kevin Wayne

6️⃣ Data Structures and Algorithms Made Easy
Author: Narasimha Karumanchi

7️⃣ Data Structures Using C
Authors: Aaron M. Tenenbaum, Yedidyah Langsam & Moshe J. Augenstein
5️⃣.2️⃣ Blogs/Articles

These are external links and, I am not promoting or, having any affiliation. These have strong developer community.

1️⃣ Programiz
2️⃣ GeeksForGeeks
3️⃣ TowardsDataScience
4️⃣ FreeCodeCamp
5️⃣ My Personal Blog ⇨ Coming Soon
5️⃣.3️⃣ Videos/Courses

Learn from video tutorials/courses πŸ‘‡

β†’ YouTube
↳ Abdul Bari
↳ Geometry Lab
↳ MyCodeSchool
↳ FreeCodeCamp
↳ My Channel ⇨ Coming Soon
β†’ External
↳ FreeCodeCamp
↳ Community Classroom
5️⃣.4️⃣ Practice/Challenge

Practice and challenge yourself with many competitive programmers in πŸ‘‡ sites

β†’ Hackerrank
β†’ Leetcode
β†’ Codechef
β†’ GeeksForGeeks
β†’ CodeForces
5️⃣.5️⃣ Twitter Threads

I have been sharing contents related to DSA regularly. And many will be posted in coming days.

I have organised all these in a "Twitter Moment" so that it's easily accessible to every one. Find it πŸ‘‡

twitter.com/i/events/14502…

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Swapna Kumar Panda ✨

Swapna Kumar Panda ✨ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @swapnakpanda

23 Nov
πŸ’œ NPM Commands Cheat Sheet

Find reference to some of the most used NPM commands for Nodejs Development.

⇩ Image
There are more commands than listed here. If you want to know about all those commands, NPM has a very nice documentation.

Find reference to all commands here πŸ‘‡

https://docs[.]npmjs[.]com/cli/v6/commands
1️⃣ npm init Image
Read 8 tweets
22 Nov
πŸ’™ Matrix implementation in JavaScript

Let's learn through this 🧡

⇩ Image
0️⃣ Introduction

Matrix is a 2-dimensional Array arrangement of numbers.

Example:
[[a₁₁, a₁₂, a₁₃],
[a₂₁, aβ‚‚β‚‚, a₂₃],
[a₃₁, a₃₂, a₃₃]]
βœͺ Element: Each item in the inner array is called an element of the matrix. Eg, a₁₁

βœͺ Row: Each item in the main array is called a row. Eg, [a₁₁, a₁₂, a₁₃]

βœͺ Column: A column is list of items at a specific index from each row in order. Eg, [a₁₁, a₂₁, a₃₁]
Read 18 tweets
21 Nov
πŸ’™ MongoDB in a Nutshell

Let's explore MongoDB, but in a nutshell.

πŸ‘‡ Image
0️⃣ Introduction

MongoDB is a leading NoSQL document-based database.

Let's explore some basic terminologies. ↓
1️⃣ MongoDB Server

βœͺ MongoDB Server is a server-side component which can host multiple databases.
Read 6 tweets
20 Nov
JavaScript Arrays[] Interview Questions πŸ’™

⇩
Before proceeding, do check the previous one of this series πŸ‘‡

Disclaimer:

β€’ 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.
Read 19 tweets
18 Nov
SQL Interview Questions (S3)

⇩
This is the 3rd one in this series. Check the 2nd one πŸ‘‡

Disclaimer:

β€’ 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.
Read 16 tweets
14 Nov
πŸ“š Books you must read for

⇨ DSA
⇨ SQL
⇨ JavaScript

⇩
Books were and still are the most important medium for our knowledge growth.

Do you love to read books? How about for technical subjects? If no, I would suggest you should.

Here, I will list few of my favourite ones. If you want to add any, feel free.
1️⃣ DSA

1️⃣ Grokking Algorithms
Author: Aditya Bhargava

2️⃣ Introduction to Algorithms
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein

3️⃣ Introduction to Algorithms
Author: Udi Manber

4️⃣ The Algorithm Design Manual
Author: Steven S. Skiena
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Thank you for your support!

Follow Us on Twitter!

:(