Algorithm Analysis Basic mathematical review, RAM model of computation, Pseudocode conventions, Worst case, Average case and Best case analysis, Asymptotic Analysis, Back Substitution Method, masters method, Euclid's algorithm, Exponentiation.
Searching and Sorting Linear Search, Binary Search – Analysis, Bubble Sort, Insertion Sort, Merge sort, Quick Sort
Linear Data Structures Abstract Data Type, List ADT: Singly linked lists, Doubly linked lists, Circular Linked Lists, Stack ADT implementation and applications, Queue ADT: Implementation and Application. Circular Queue, Priority Queue
Non-Linear Data Structures. Basic concepts of trees, Implementation of trees, Traversal, Binary tree, Expression tree, Binary search tree, AVL tree, Heap
Graphs Adjacency matrix, Adjacency list, bfs, dfs, MST Prims and Kruskals, Dijkstras algorithm