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, Quick Sort, Merge Sort, Heap sort and
Radix Sort.
File Structures - Sequential and Direct Access. Relative Files, Indexed Files - B+ tree as index. Multi-indexed Files,
Inverted Files, Hashed Files.