•   Visitors:

Course Overview

The learner should be well versed with the fundamentals of Algorithms, learn various data structures, should be able to use them appropriately as per need during development of programs. Also, the learner should know different sorting and searching techniques so that correct techniques can be used in different programs so that the complexity of the program does not increase due the sorting/ search technique employed. The learner should have the knowledge about file structures and finally, s/he should also know the concepts of advanced data structures.

BLOCK 1 : Introduction to Algorithms and Data Structures

Unit 1 : Analysis of Algorithms

Mathematical Background, Process of Analysis, Calculation of Storage Complexity, Calculation of Run Time Complexity

Unit 2 : Arrays

Arrays and Pointers, Sparse Matrices, Polynomials, Representation of Arrays, Row Major Representation, Column Major Representation, Applications

Unit 3 : Lists

Abstract Data Type-List, Array Implementation of Lists, Linked Lists-Implementation, Doubly Linked Lists-Implementation, Circularly Linked Lists-Implementation,Applications

BLOCK 2: Stacks, Queues and Trees

Unit 4 : Stacks

Abstract Data Type-Stack, Implementation of Stack, Implementation of Stack using Arrays, Implementation of Stack using Linked Lists, Algorithmic Implementation of Multiple Stacks, Applications

Unit 5 : Queues

Abstract Data Type-Queue, Implementation of Queue, Array Implementation, Linked List Implementation, Implementation of Multiple Queues, Implementation of Circular Queues, Array Implementation, Linked List Implementation of a circular queue, Implementation of DEQUEUE, Array Implementation of a dequeue, Linked List Implementation of a dequeue

Unit 6 : Trees

Abstract Data Type-Tree, Implementation of Tree, Tree Traversals, Binary Trees, Implementation of Binary Tree, Binary Tree Traversals, Recursive Implementation of Binary Tree Traversals, Non Recursive Implementations of Binary Tree Traversals, Applications

BLOCK 3 : Graph Algorithms and Searching Techniques

Unit 7 : Advanced Trees

Binary Search Trees, Traversing a Binary Search Trees, Insertion of a node into a Binary Search Tree, Deletion of a node from a Binary Search Tree, AVL Trees, Insertion of a node into an AVL Tree, Deletion of a node from and AVL Tree, AVL tree rotations, Applications of AVL Trees, B-Trees, Operations on B-Trees , Applications of B-Trees

Unit 8 : Graphs

Definitions, Shortest Path Algorithms, Dijkstra’s Algorithm, Graphs with Negative Edge costs, Acyclic Graphs, All Pairs Shortest Paths Algorithm, Minimum cost Spanning Trees, Kruskal’s Algorithm, Prims’s Algorithm, Applications, Breadth First Search , Depth First Search, Finding Strongly Connected Components

Unit 9 : Searching

Linear Search, Binary Search, Applications

BLOCK 4: File Structures and Advanced Data Structures

Unit 10 : Sorting

Internal Sorting, Insertion Sort, Bubble Sort, Quick Sort, 2-way Merge Sot, Heap Sort, Sorting on Several Keys

Unit 11 : Advanced Data Structures

Splay Trees, Splaying steps, Splaying Algorithm, Red-Black trees, Properties of a Red-Black tree, Insertion into a Red-Black tree, Deletion from a Red-Black tree, AA-Trees

Unit 12 : File Structures

Terminology, File Organisation, Sequential Files, Structure, Operations, Disadvantages, Areas of use, Direct File Organisation, Indexed Sequential File Organisation

Course Enquiry

Placed Learners