WHY ?
HOW ?
INTRODUCTION OF SYLLABUS
UNIT-1.0
FUNDAMENTALS OF ALGORITHMS AND ITS ANALYSIS
1.1. Data Types System defines data types, User defined data types
1.2. Basic concept of data structure Linear data structure, Non-linear data structure ,
Abstract data types
1.3. Algorithm and its analysis - Introduction of algorithm, Time Complexity of algorithm,
Space Complexity of algorithm, Worst case analysis, Best case analysis, Average case
analysis
1.4. Asymptotic Notation Big-O Notation, Omega- Ω Notation, Theta Notation 1.5
Time complexity of recursive algorithm Basic concept of recursion, Time complexity
analysis using Master theorem
UNIT 2.0 LINEAR DATA STRUCTURES
2.1 Array and String Concept of arrays, Single and Multi-dimensional arrays, Dynamic
arrays, Array operations, Time and space complexity of array operations, Introduction
to string, String manipulation
2.2 Linked List Introduction to linked list, Singly Linked List, circular Linked List, Basic
operation on Linked List: Traversing List, Insertion, deletion, and modification in Linked
List
2.3 Stacks and Queue Introduction to Stack, Stack operations, Implementation of Stack
using simple array, dynamic array, and Linked List, Application of stack for evaluating
Infix or Postfix Expression, balancing the symbols, function calls, Introduction to
Queue, Queue operations, Implementation of Queue using simple array, dynamic array,
and Linked List, Application of Queue
UNIT 3.0 NON-LINEAR DATA STRUCTURE 3.1 TREE
3.1 Tree Basic terminologies: tree, Degree of a node, Degree of tree, level of node, Depth/height of tree, In-
degree, Out-degree, Path, Ancestor & Descendent node - Types of trees: Binary Tree, Binary Search tree
(BST), Balance tree, B-tree - Traversal of Binary tree: In order, pred order, post order traversal
3.2 Priority Queue and Heaps - Introduction to priority queue, Different operations in priority queue,
Implementation of priority queue using BST - Basics of Min heap, Max heap, and Binary heap, Basic operation
on Binary heap, Heapifying the elements of binary heap
3.3 Graphs - Basics terminologies: Vertex and edge of graph, weighted and unweighted Graph, directed and
undirected graph, Degree, in-degree and outdegree of a node (vertex), Articulation point - Graph
representation: Adjacency Matrix, Adjacency List, Adjacency Set - Graph Traversal: BFS, DFS - Shortest Path in
unweighted, weighted, and negative edge graph, Shortest Path algorithm in weighted graph [Dijkstra’s],
Shortest Path algorithm in negative edge graph [BellmanFord Algorithm] - Shortest Path algorithm in
weighted directed graph [Floyd-Warshall algorithm] - Spanning tree in graph, Minimum Spanning tree
algorithm: Prim’s algorithm, Kruskal’s algorithm
UNIT 4.0 SORTING AND SEARCHING TECHNIQUES
4.1 Sorting techniques: - bubble sort, selection sort, insertion sort, quicksort, merge
sort
4.2 Searching techniques: Linear search, Binary search
4.3 Hash Table Introduction to Hash Table, Hash Function, Hash Collision resolution
Techniques: Direct chaining, Open addressing
UNIT 5.0 ALGORITHM DESIGN TECHNIQUES
5.1 Element of Greedy algorithm - Greedy choice property, Optimal substructure -
Huffman coding algorithm
5.2 Divide and Conquer Techniques - Divide and Conquer Visualization
5.3 Dynamic Programming Approaches - Top-down and button-up Dynamic
programming - Basics of Overlapping subproblem and Memorization techniques
5.4 Dynamic Programming Problem Longest common subsequence, Knapsack
problem, Matrix chain multiplication
FEATURES:
SUGGESTED LEARNING RESOURCES:
Data Structrue using c: Reema Thareja : Oxford University
Data Structur and algorithm in C : Mark Alle Weiss : Pearson
Education