0% found this document useful (0 votes)
282 views5 pages

Roadmap DSA

This document provides an introduction to programming concepts and data structures and algorithms. It covers topics like arrays, strings, math for data structures and algorithms, sorting algorithms, stacks and queues, linked lists, recursion, backtracking, dynamic programming, trees, heaps, hashmaps, and graphs. It also includes references to online channels and resources for further learning on each topic.

Uploaded by

Ananya Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
282 views5 pages

Roadmap DSA

This document provides an introduction to programming concepts and data structures and algorithms. It covers topics like arrays, strings, math for data structures and algorithms, sorting algorithms, stacks and queues, linked lists, recursion, backtracking, dynamic programming, trees, heaps, hashmaps, and graphs. It also includes references to online channels and resources for further learning on each topic.

Uploaded by

Ananya Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Introduction to Programming

- Types of languages
- Flowcharts & Pseudocode
- Flow of the program
- Time & Space Complexity

Refer these channels for following topics :-


Love Babbar - https://www.youtube.com/c/LoveBabbar1
Striver - https://www.youtube.com/c/takeUforward
Abdul Bari - https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw

Basics of CPP
- Array
- Introduction
- Input and Output
- Sorting
- Insertion Sort
- Selection Sort
- Bubble Sort
- Count Sort
- Radix Sort
- Searching
- Linear Search
- Binary Search
- Modified Binary Search
- **Two Pointer
- **Subarray Questions
- **Divide and conquer algorithm

- Strings
- Introduction
- Comparison of methods
- Operations in Strings

- Maths for DSA


- Introduction
- Complete Bitwise Operators
- Prime numbers
- HCF / LCM
- Sieve of Eratosthenes
- Newton's Square Root Method

- Sorting:
- **Merge Sort
- Quick Sort
- Cyclic Sort

- Stacks & Queues


- Introduction
- Interview problems
- Push efficient
- Pop efficient
- Queue using Stack and Vice versa
- Circular Queue

- Linked List
- Introduction
- **Fast and slow pointer
- **Cycle Detection
- Single and Doubly LinkedList
- **Reversal of LinkedList

- Recursion
- Introduction
- Why recursion?
- Flow of recursive programs - stacks
- Convert recursion to iteration
- Tree building of function calls
- Tail recursion
- Backtracking
- Sudoku Solver
- N-Queens
- N-Knights
- Maze problems
- Recursion String Problems
- Recursion Array Problems
- Recursion Pattern Problems
- Subset Questions

- Dynamic Programming
- Introduction
- Recursion + Recursion DP + Iteration + Iteration Space Optimized
- Complexity Analysis
- **0/1 Knapsack
- Subset Questions
- Unbounded Knapsack
- Subsequence questions
- String DP

- Trees
- Introduction
- Binary Trees
- Binary Search Trees
- DFS
- BFS
- AVL Trees
- Segment Tree
- Fenwick Tree / Binary Indexed Tree
- Square Root Decomposition

- Heaps
- Introduction
- Theory
- Priority Queue
- Two Heaps Method
- k-way merge
- top k elements
- interval problems

- HashMap
- Introduction
- Theory - how it works
- Comparisons of various forms
- Limitations and how to solve
- Map using LinkedList
- Map using Hash
- Chaining
- Probing
- Huffman-Encoder
- Tries

- Graphs
- Introduction
- BFS
- DFS
- Working with graph components
- Minimum Spanning Trees
- Kruskal Algorithm
- Prims Algorithm
- Dijkstra’s shortest path algorithm
- Topological Sort
- Bellman ford
- A* pathfinding Algorithm

### Later on Resources


- [Codeforces Candidate Master
RoadMap](https://whimsical.com/codeforces-candidate-master-roadmap-by-love-babbar-Ci
XPPD3CnwoXPr2d8Ajx1h)
- [DSA Cracker
Sheet](https://drive.google.com/file/d/1FMdN_OCfOI0iAeDlqswCiC2DZzD4nPsb/view)
- [Striver's CP
List](https://docs.google.com/document/d/1vShwt8yXYUOgkF53-iYAuJXWR7Yi5VSJrW2xB49
o0PM/edit)
-
[SDE-Problems](https://docs.google.com/document/d/1SM92efk8oDl8nyVw8NHPnbGexTS9
W-1gmTEYfEurLWQ/edit)
- [Competitive Programming Algorithms](https://cp-algorithms.com/)

You might also like