Introduction: Basic Terminologies: Concept of Data Structure, Choice of right Data Structure |
Algorithms, how to design and develop algorithm, Complexity of algorithm. |
Operations: insertion, deletion, traversal |
Analysis of an Algorithm |
Searching: Linear Search and Binary Search |
Search Techniques and their complexity analysis. |
Newton's laws of motion relate an object's motion to the forces acting on it. In the first law, an object will not change its motion unless a force acts on it. In the second law, the force on an object is equal to its mass times its acceleration
Stack and its operations: Algorithms and their complexity analysis |
Applications of Stacks: Expression Conversion and evaluation |
Corresponding algorithms and complexity analysis |
Queue, Types of Queue: Simple Queue |
Circular Queue, Priority Queue |
Operations on each types of Queues |
Algorithms and their analysis |
Linked Lists: Singly linked lists: Representation in memory |
Algorithms of several operations: Traversing, Searching, Insertion into, Deletion from linked list |
Linked representation of Stack and Queue, Header nodes |
Doubly linked list: operations on it and algorithmic analysis |
Circular Linked Lists: all operations their algorithms and the complexity analysis. |
Trees: Basic Tree Terminologies |
Different types of Trees: Binary Tree, Threaded Binary Tree |
Binary Search Tree, AVL Tree |
Operations on Binary Search Tree, AVL Tree and their algorithms with Complexity analysis |
Applications of Binary Trees. B Tree, B+ Tree: definitions |
Algorithms and analysis of B Tree, B+ Tree |
Sorting and Hashing: Objective and properties of different sorting algorithms |
Sorting algorithms: Selection Sort, Bubble Sort, Insertion Sort |
Quick Sort, Merge Sort |
Heap Sort |
Performance and Comparison among all the methods |
Graph: Basic Terminologies and Representations |
Graph search algorithms
Graph traversal algorithms
Complexity analysis