Chapter 1

Introduction to Data Structures & Algorithms

1.1 Data types, Data structure and Abstract date type 1.2 Dynamic memory allocation in C 1.3 Introduction to Algorithms 1.4 Asymptotic notations and common functions

Chapter 2

Stack

2.1 Basic Concept of Stack, Stack as an ADT, Stack Operations, Stack Applications 2.2 Conversion from infix to postfix/prefix expression, Evaluation of postfix/ prefix expressions

Chapter 3

Queue

3.1 Basic Concept of Queue, Queue as an ADT, Primitive Operations in Queue 3.2 Linear Queue, Circular Queue, Priority Queue, Queue Applications

Chapter 4

Recursion

4.1 Principle of Recursion, Comparison between Recursion and Iteration, Tail Recursion 4.2 Factorial, Fibonacci Sequence, GCD, Tower of Hanoi(TOH) 4.3 Applications and Efficiency of Recursion

Chapter 5

Lists

5.1 Basic Concept, List and ADT, Array Implementation of Lists, Linked List 5.2 Types of Linked List: Singly Linked List, Doubly Linked List, Circular Linked List. 5.3 Basic operations in Linked List: Node Creation, Node Insertion and Deletion from Beginning, End and Specified Position 5.4 Stack and Queue as Linked List\n24

Chapter 6

Sorting

6.1 Introduction and Types of sorting: Internal and External sort 6.2 Comparison Sorting Algorithms: Bubble, Selection and Insertion Sort, Shell Sort 6.3 Divide and Conquer Sorting: Merge, Quick and Heap Sort 6.4 Efficiency of Sorting Algorithms

Chapter 7

Searching and Hashing

7.1 Introduction to Searching, Search Algorithms: Sequential Search, Binary Search 7.2 Efficiency of Search Algorithms 7.3 Hashing : Hash Function and Hash Tables, Collision Resolution Techniques

Chapter 8

Trees and Graphs

8.1 Concept and Definitions, Basic Operations in Binary Tree, Tree Height, Level and Depth 8.2 Binary Search Tree, Insertion, Deletion, Traversals, Search in BST 8.3 AVL tree and Balancing algorithm, Applications of Trees 8.4 Definition and Representation of Graphs, Graph Traversal, Minimum Spanning Trees: Kruskal and Prims Algorithm 8.5 Shortest Path Algorithms: Dijksrtra Algorithm