Data Structures and Algorithms
Module 1
Data Structures
Stack
Array Implementation
List Implementation
Applications
Queue
Array Implementation
List Implementation
Applications
Lists
Singly Linked List
Doubly Linked List
Circular List
Applications
Strings
Tables
Trees
Tree Terminology
Binary Tree
Threaded Tree
AVL
Applications
Heap
Graphs
Graph Terminology
Matrix Implementation
List Implementation
Graph Traversal
Breadth First Traversal
Depth First Traversal
Applications
Module 2
Searching
Searching
Sequential
Binary
Hash
Module 3
Sorting
Sorting
Insertion Sort
Selection Sort
Heap Sort
Merge Sort
Bubble Sort
Quick Sort
Sorting with Permutation Array
Comparison of various techniques
Module 4
Persistence
Persistence
External Memory Algorithms
File Based Storage
Hashed Files
Indexed Files
B Trees
Module 5
Algorithm Analysis
Algorithm Analysis
Analysing Algorithm
Designing Algorithm
Computational Tractractability
Asymptotic Growth Order
Running Times
Linear Time
nlog(n) Time
Logarithmic Time
Quadratic Time
Cubic Time
Algorithmic Correctness
Module 6
Algorithm Methods
Algorithm Methods
Searches and Traversals
Exhaustive Search
Divide and Conquer
Greedy Algoritm
Dynamic Programming
Nondestructive Algorithms
Online Algorithms
Module 7
Computational Complexity
Computational Complexity
After the fact Improvements
Order of Magnitude Improvements
BigO Notation
Average Case Complexity
Upper and Lower Bounds
Reasonable vs Unreasonable Time
NP-Completness
Provably Intractable Problems
Undecidability
Fundamental Levels of Algorithmic Behaviour
Types of Problems
Tractable Problems
Intractable Problems
Undecidable Problems
Highly Undecidable Problems
Module 8
Abstract Models
Abstract Models
Finite State Machines
Push Down Automata
Turing Machine
Lambda Calculus
Module 9
Behavioural Complexity
Behavioural Complexity
Parallel Algorithms
Concurrent Algorithms
Probabilistic Algorithms
Quantum Algorithms
Molecular Algorithms
Reactive Systems
Module 10
Cognitive Complexity
Cognitive Complexity
Introduction to AI
Introduction to Knowledge Based Systems