Introduction to Data Structures
The role of Algorithms in Computing, Analyzing Algorithms, Designing Algorithms. Growth of Functions: Asymptotic notation, Standard notations & Common functions.
Elementary Data Structures
Linked lists – Searching, Insertion, Deletion, Sorted Linked List, Circular List, Header list, Two way list.
Stacks – Array representation & implementation of stack, Operations on Stacks : Push & Pop, Linked representation of stack, Applications of stack : Conversion of infix to prefix and postfix expressions, Evaluation of postfix expression using stack, Applications of recursion in problems like “Tower of Hanoi”.
Queues - Array and linked representation and implementation of queues, Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues, D-queues and Priority Queues.
Searching
Linear and binary search methods, Comparison and analysis, Hashing: Hash Table, Hash functions.
Sorting: Bubble sort, Selection sort, Insertion sort, Quick sort, Merge sort, Heap sort, Radix sort.
Trees
Binary tree, Terminology & Representation, Binary Search Trees (BST)-
Insertion and Deletion, AVL Trees, B-trees.
Graphs
Terminology & Representations, Graphs & Multi-graphs, Directed Graphs, Elementary Graph algorithms, Representation of Graphs, BFS, DFS.
Minimum Spanning Trees, The algorithm of Kruskal &Prim.
Single Source Shortest Path – The Bellman-Ford algorithm, Dijkstra‘s algorithm.
All Pair Shortest Path, The Floyd, Warshall algorithm, Basics of NP – Completeness.