Programming & Data Structure
- Basics and Algorithm Analysis: Data, Entity, Information, Difference between Data and Information, Data type, Build in data type, Abstract data type, Definition of data structures; Types: Linear and Non-Linear Data Structure; Algorithms: Definition of Algorithms, Difference between algorithm and programs, properties of algorithm, Algorithm Design Techniques, Performance Analysis of Algorithms, Complexity of various code structures, Order of Growth, Asymptotic Notations.
- Arrays and Recursion: Definition, Single and Multidimensional Arrays; Representation: Row Major Order, and Column Major Order, Derivation of Index Formulae for 1-D, 2-D Array, Application of arrays, Sparse Matrices and their representations; Recursion: recursion in C, example of recursion, Tower of Hanoi Problem, simulating recursion, Backtracking, recursive algorithms, principles of recursion.
- Linked Lists: Array Implementation and Pointer Implementation of Singly Linked Lists, Doubly Linked List, Circularly Linked List; Operations: Operations on a Linked List, Insertion, Deletion, Traversal, Polynomial Representation and Addition Subtraction & Multiplications of Single variable.
- Stacks: Abstract Data Type, Primitive Stack operations: Push & Pop, Array and Linked Implementation of Stack in C; Applications: Prefix and Postfix Expressions, Evaluation of postfix expression, Iteration and Recursion, Principles of recursion, Tail recursion, Removal of recursion.
- Problem Solving & Queues: Problem solving using iteration and recursion with examples such as binary search, Fibonacci numbers, and Hanoi towers; Queues: Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues, Array and linked implementation of queues in C, Dequeue and Priority Queue.
- Searching & Hashing: Concept of Searching, Sequential search, Index Sequential Search, Binary Search; Hashing: Concept of Hashing & Collision resolution Techniques used in Hashing.
- Sorting: Insertion Sort, Selection Sort, Bubble Sort, Heap Sort, Comparison of Sorting Algorithms, Sorting in Linear Time: Counting Sort and Bucket Sort.
- Graphs: Terminology used with Graph, Data Structure for Graph Representations: Adjacency Matrices, Adjacency List, Adjacency; Traversal: Graph Traversal: Depth First Search and Breadth First Search, Connected Component.
- Trees: Basic terminology used with Tree, Binary Trees; Representation: Binary Tree Representation: Array Representation and Pointer (Linked List) Representation; Types: Binary Search Tree, Complete Binary Tree, A Extended Binary Trees; Traversal: Tree Traversal algorithms: Inorder, Preorder and Postorder, Constructing Binary Tree from given Tree Traversal; BST Operations: Operation of Insertion, Deletion, Searching & Modification of data in Binary Search Tree; Advanced Trees: Threaded Binary trees, Huffman coding using Binary Tree, AVL Tree and B Tree.