Memory Allocation and De-allocation for a Linked List
Singly Linked Lists
Traversing a Linked List
Searching for a Value in a Linked List
Inserting a New Node in a Linked List
Deleting a Node from a Linked List
Circular Linked Lists
Doubly Linked Lists
Circular Doubly Linked Lists
Header Linked Lists
Applications of Linked Lists
Polynomial Representation
Stack
Introduction to Stacks
Array Representation of Stacks
Operations on a Stack
Push Operation
Pop Operation
Peek Operation
Linked Representation of Stacks
Operations on a Linked Stack
Push Operation
Pop Operation
Multiple Stacks
Applications of Stacks
Reversing a List
Implementing Parentheses Checker
valuation of Arithmetic Expressions
Recursion
Queues
Introduction to Queues
Array Representation of Queues
Linked Representation of Queues
Types of Queues
Circular Queues
Deques
Priority Queues
Multiple Queues
Applications of Queues
Trees
Introduction
Basic Terminology
Types of Trees
General Trees
Forests
Binary Trees
Binary Search Trees
Expression Trees
Tournament Trees
Creating a Binary Tree from a General Tree
Traversing a Binary Tree
Pre-order Traversal
In-order Traversal
Post-order Traversal
Level-order Traversal
Constructing a Binary Tree from Traversal Results
Huffman’s Tree
Applications of Trees
Efficient Binary Trees
Binary Search Trees
Operations on Binary Search Trees
Searching for a Node in a Binary Search Tree
Inserting a New Node in a Binary Search Tree
Deleting a Node from a Binary Search Tree
Determining the Height of a Binary Search Tree
Determining the Number of Nodes
Finding the Mirror Image of a Binary Search Tree
Finding the Smallest Node in a Binary Search Tree
Finding the Largest Node in a Binary Search Tree
Threaded Binary Trees
Traversing a Threaded Binary Tree
AVL Trees
Operations on AVL Trees
Searching for a Node in an AVL Tree
Red-Black Trees
Properties of Red-Black Trees
Operations on Red-Black Trees
Applications of Red-Black Trees
Splay Trees
Operations on Splay Trees
Advantages and Disadvantages of Splay Trees
Multi-way Search Trees
Introduction to M-Way Search Trees
B Trees
Searching for an Element in a B Tree
Inserting a New Element in a B Tree
Deleting an Element from a B Tree
Applications of B Trees
B+ Trees
Inserting a New Element in a B+ Tree
Deleting an Element from a B+ Tree
2-3 Trees
Searching for an Element in a 2-3 Tree
Inserting a New Element in a 2-3 Tree
Deleting an Element from a 2-3 Tree
Heap
Binary Heaps
Inserting a New Element in a Binary Heap
Deleting an Element from a Binary Heap
Applications of Binary Heaps
Graph
Introduction
Graph Terminology
Directed Graphs
Terminology of a Directed Graph
Transitive Closure of a Directed Graph
Bi-connected Components
Representation of Graphs
Adjacency Matrix Representation
Adjacency List Representation
Adjacency Multi-List Representation
Graph Traversal Algorithms
Breadth-First Search Algorithm
Depth-first Search Algorithm
Topological Sorting
Shortest Path Algorithms
Minimum Spanning Trees
Prim’s Algorithm
Kruskal’s Algorithm
Dijkstra’s Algorithm
Warshall’s Algorithm
Modified Warshall’s Algorithm
Applications of Graphs
Searching and Sorting
Introduction to Searching
Linear Search
Binary Search
Interpolation Search
Jump Search
Introduction to Sorting
Sorting on Multiple Keys
Practical Considerations for Internal Sorting
Bubble Sort
Insertion Sort
Selection Sort
Merge Sort
Quick Sort
Radix Sort
Heap Sort
Shell Sort
Tree Sort
Comparison of Sorting Algorithms
External Sorting
Hashing and Collision
Introduction
Hash Tables
Hash Functions
Different Hash Functions
Division Method
Multiplication Method
Mid-Square Method
Folding Method
Collisions
Collision Resolution by Open Addressing
Collision Resolution By Chaining
Pros and Cons of Hashing
Applications of Hashing
Course Details
Hours: 50 Hours
Intermediate
Course Fee: 5000
Course Features
2 Free Demo Classes
Free Course Material
Completion Certificate
Lifetime Membership
What Student Says
I proudly say that I was a student of Matrix Computers. I did Java and Adv. Java from Bhatia sir. Foundation laid by Bhatia sir and Matrix family has been the sole reason for the growth of my skills and Expertise, thus giving my carrer a new high.
Gaurav Singh
SKIT, Jaipur
Best place to learn programming in Jaipur is Matrix Computers. The course is taught in simple and awesome way! The assignments are given after each chapter which are designed to boost our confidence and increase our interest in programming.
Rahul Sharma
Poornima University, Jaipur
My best decision in the direction of my career was joining the core Java classes of Bhatia sir at Matrix Computers. I got an indepth knowledge of all topics that helped me to excel in my interviews and projects. Thank You sir.