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.