Implement trees, graphs, hashing, and efficient algorithms in C/C++.
Learning Mode: Learn at ALC or at Home
Detailed Course Curriculum
Hands-on module breakdown aligned with MKCL production standards and industry requirements.
Introduction
Operation on BST - search and insert
Deletion from a BST
Programming: Binary Search Tree
Generating BST from preorder
Applications of Binary Tree
Generating BST from post order
Binary Search Tree: Problems and Solution
Introduction
Operation on AVL tree
Programming various operations on AVL
AVL Tree: Problems and Solution
Balancing AVL tree
Programming Balancing of AVL
2-3 Trees Introduction
2-3-4 trees Introduction
Searching in a 2-3 Tree
Insertion in a 2-3 Tree
Deletion from a 2-3 Tree
Introduction to red black tree
Operations on red black tree
Operation on red black tree to a 2-3-4 tree
Priority Queue
Introduction to Heap
Insertion in a heap
Heap: Problems, Solution and Implementation
Heap as a priority queue and Implementation
Heap as a priority queue and Implementation
Replacement of a node in heap
Introduction to Disjoint subsets
Fast find implementation
Fast Union Implementation
Definition and terminologies
Depth First Search (DFS)
Breadth First Search (BFS)
Spanning Tree
Disjoint subsets
Minimum Spanning Tree
Prim’s method
Kruskal’s method
Programming: Minimal spanning tree
Introduction
Linear Search
Binary Search
Interpolation Search
Introduction to sorting
Bubble Sort
Selection Sort
Insertion Sort
Shell Sort
Comparison of Sorting Methods
Merge Sort
Quick Sort
Counting Sort
Radix Sort
Bucket Sort
Introduction to Symbol table
Array Implementation of Symbol Table
Linked List Implementation of Symbol Table
Other implementation
Comparison of implementation methods
Introduction to Hashing
Chaining
Linear Probing
Double Hashing
Hash Functions
Introduction to Single Shortest Path
Dijkstra’s Algorithm
Bellman-Ford Algorithm
Introduction to Greedy Approach
Huffman Coding Algorithm
Huffman Coding Algorithm
Fractional Knapsack problem
Dynamic Programming
Algorithm: 0/1 Knapsack Problem
Matrix Multiplication
Chain Matrix Multiplication
Divide and Conquer Approach
Binary Search
Strassen’s Matrix Chain Multiplication
Introduction to Branch and Bound Approach
4-Queens Problem
Least Cost search
15-puzzle problem
FIFO - Branch and Bound
Introduction
Partition Based Selection
Linear Search
Finding K-smallest elements
Selection Algorithm: Problems and Solutions
Introduction to Travelling Salesman Problem
Introduction to All Pairs Shortest Path Problem
Job Scheduling Problem
Coin Change Problem
Introduction to NP completeness
Polynomial Time Reduction algorithms
NP hard and NP complete Problems
SAT problem
NP problems: Examples
Compaction of Blocks and storage
First-Fit
Best-Fit
Improvement in the first fit algorithm
Freeing Storage Blocks
Dynamic Memory Allocation: Problems and Solutions
Revisiting Programming Concepts
Revisiting data structures
Revisiting algorithmic concepts
miscellaneous problems and solutions
Eligibility Criteria
• Basic knowledge of computers and keen desire to build skills in this field.
• Open to students, job seekers, and working professionals.
Official Certification
• Official MKCL KLiC Certificate upon successful completion of the course and evaluations.
Work-Centric Learning Approach
• Step 1: Learners are given an overview of the course and its connection to life and work
• Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
• Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
• Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
• Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
• Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
• Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
• Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
• Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
• Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
• Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
• Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!
Ready to start Advanced Data Structures using C and C++?
Join our upcoming batch at ZICA Kalyani center with certified instructors.
MKCL Certified Program
Admissions Open 2026
Flexible Offline & Hybrid Batches
Course Overview
Duration:60 hours
Track:Software Development
Skill Level:Advanced
Language:English
Mode:Learn at ALC or at Home
Certificate:Official MKCL
Key Course Highlights:
Implement advanced data structures such as AVL trees, heaps, and symbol tables.
Design and analyze efficient algorithms for graph traversal, sorting, and searching.
Apply algorithmic paradigms to solve optimization problems like the knapsack problem and traveling salesman problem.
Understand and work with computational complexity, including NP-complete problems.
Use advanced memory management techniques and improve algorithm efficiency.
Tackle real-world computational problems with effective and innovative solutions.
Course Introduction
The iLike Certificate in Advanced Data Structures using C & C++ is a comprehensive program that builds on foundational data structures to equip learners with advanced concepts and techniques in data management and algorithm design. This course introduces critical topics such as binary search trees, AVL trees, graph algorithms, dynamic programming, and computational complexity. With a blend of theoretical Foundation and practical applications, learners will enhance their problem-solving skills and develop optimized solutions for complex computational challenges.