Time and Space analysis of Algorithms - Order Notations.
Linear Data Structures - Sequential representations - Arrays and Lists, Stacks, Queues and Dequeues, strings,
Application.
Linear Data Structures - Link Representation - Linear linked lists, Circularly linked lists. Doubly linked lists,
application.
Recursion - Design of recursive algorithms, Tail Recursion, When not to use recursion, Removal of recursion.
Non-linear Data Structure : Trees - Binary Trees, Traversals and Threads, Binary Search Trees, Insertion and
Deletion algorithms, Height-balanced and weight-balanced trees, B-trees, B+ -trees, Application of trees;
Graphs - Representations, Breadth-first and Depth-first Search.
Hashing - Hashing Functions, collision Resolution Techniques.
Sorting and Searching Algorithms - Bubble sort, Selection Sort, Insertion Sort, Quicksort, Merge Sort, Heapsort
and Radix Sort.
File Structures - Sequential and Direct Access. Relative Files, Indexed Files - B+ tree as index. Multi-indexed
Files, Inverted Files, Hashed Files.