CCSA
DSA Syllabus
Checkpoint
www.sevenmentor.com
Introduction
What are Data Structures?
What is an algorithm?
Why are Data Structures and Algorithms important?
Types of Data Structures
Types of Algorithms
Big O Notation
Big O, Big Theta and Big Omega
Time complexity examples
Space Complexity
How to measure the codes using Big O?
Relationships Between Various Notations
Best, Worst and Average Case Analysis
Arrays
Array
One-Dimensional Array
Multi-Dimensional Array
Dynamic Arrays
Why do Arrays fail?
Problems Solving in Array
www.sevenmentor.com
Linked List
Singly Linked List
List(Insertion, Deletion and Traversal)
Doubly Linked List
Circular Linked List
Arrays Vs Linked List
Stack
Introduction to Stack
Push and Pop
Expression Evaluation (Infix,Prefix and Postfix)
Queue
Why do we need Queue?
Enqueue and Dequeue
Linear and Circular Queue
Practise Question on Queues and Stack
Sort Algorithms
What is Sorting?
Types of Sorting
Sorting Terminologies
Bubble Sort
www.sevenmentor.com
Time Complexity of Bubble Sort
Selection Sort
Time Complexity of Selection Sort
Insertion Sort
Time Complexity of Insertion Sort
Merge Sort
Time Complexity of Merge Sort Quick Sort
Heap Sort
Time Complexity of Quick Sort
Time Complexity of Heap Sort
Comparison of Sorting Algorithms
Searching Algorithms
Introduction to Searching Algorithms Linear Search
Time Complexity of Linear Search
Binary Search
Time Complexity of Binary Search
Trees
Logical Structure and Implementations
Terminologies and Traversals
Types of Binary Search Tree
Properties of a Tree: Depth, Nodes and
Leafs Maximum Depth of a Binary tree in Python
www.sevenmentor.com
Balanced Trees: AVL Trees
AVL Trees: What and Why?
Hashing
Hash Tables
Direct access table
Hash Function and collisions
Chaining and Load Factor
Graphs Algorithm
Graph Representation Graph Traversal
Adjacency Matrix
Graph traversal - BFS
Graph Traversal - DFS
BFS Traversal vs DFS Traversal
Minimum Spanning Tree
Kruskal's Algorithm
Prim's Algorithm
Shortest Path
Dijikstra's Algorithm
Bellman Ford Algorithm
www.sevenmentor.com
Recursion
Recursion Programming
Recursion Tree Method
Master Theorem
Extended Master Theorem
Cracking Recursion Interview Question
Dynamic Programming
What is Dynamic Programming? (Overlapping property)
Where does the name of DC come from?
Top Down with Memoization
Bottom Up with Tabulation
Top Down vs Bottom Up
Is Merge Sort Dynamic Programming?
Number Factor Problem using Dynamic Programming
Longest Common Subsequence
Knapsack
Bellman Ford Algorithm as Dynamic Programming
Matrix Chain Multiplication
Subset Sum Problem
Floyd Marshall Algorithm
www.sevenmentor.com
Greedy Algorithm
Introduction
Activity Selection Problem
Fractional Knapsack Problem
Huffman Coding For Data Compression
Minimum Spanning Tree: Greedy Kruskal's
Algorithm Greedy Algorithm: Dijkstra's Algorithm
www.sevenmentor.com