Data Structures And Algorithm Syllabus & Notes

MODULE 1: Introduction

Need for Data Structures, Data Structures Taxonomies. Characteristics of data structures, Creation and manipulation of data structures, Types of data structures – linear and nonlinear. Operations on data structures: insertion, deletion, traversal etc. Introduction to algorithm: Asymptotic notations, Analysis of algorithms: Time and Space complexity. Arrays: Dynamic memory allocation, one-dimensional arrays, multidimensional arrays, operations on arrays.

MODULE 2: Stack and Queue

Stacks: Implementation of stacks– array and linked list, operations on stacks, Applications of Stacks, Notations – infix, prefix and postfix, Conversion and evaluation of arithmetic expressions using Stacks. Queue: Simple Queue, Circular Queue, Priority Queue; Operations on each types of Queues: Algorithms and their analysis. Lists: Specifications, Contiguous Implementation, Simply Linked Lists, Variation- Keeping the Current Position, Doubly Linked Lists, Circular Lists, Linked Stacks and Linked Queues.

MODULE 3: Searching and Sorting

 Searching Techniques: Need for Searching, Sequential Search, Binary Search. Sorting Techniques: Insertion Sort, Selection Sort, Shell Sort, Bubble Sort, Divide-and-Conquer Sorting, Merge Sort, Quick Sort, Heaps and Heap Sort. Tables and Information Retrieval: Introduction, Breaking the lg n Barrier, Rectangular Arrays, Tables of Various Shapes- Triangle, Hashing- Choosing Hash Function

MODULE 4: Trees

Trees: Basic Tree Terminologies, Different types of Trees: Binary Tree, Threaded Binary Tree, Binary Search Tree, AVL Tree; Tree operations on each of the trees and their algorithms with complexity analysis. Applications of Binary Trees. B Tree, B+ Tree: definitions, algorithms and analysis.

MODULE 5: Graphs

Graphs as Data Structure: Introduction, Mathematical Background, Directed & Undirected Graphs, Computer Representation, Graph search and traversal algorithms and complexity analysis