Explore real-world applications of data structures in areas like searching, sorting, and file systems.

Applications of Data Structures in C and C++
Course Features:
  • Language: English
  • list-box-outline Track: Software Development
  • Duration: 30 hours
  • layers-outline Level: Advanced
  • Learning Mode: Learn at ALC or Learn at Home
  • Jurisdiction: Maharashtra
  • Certificate of Completion

Eligibility
  • Learner should preferably a std. 10th Pass student (Not Compulsory)
  • It is desirable that Learner should have done MS-CIT Course (Not Compulsory)

Introduction

  • Understand the fundamental concepts of linear sorting techniques such as Counting Sort, Radix Sort, and Bucket Sort.
  • Apply hashing techniques, including chaining, linear probing, and double hashing, to optimize data retrieval.
  • Compare different implementations of symbol tables using arrays, linked lists, and other structures.
  • Develop algorithms for finding the single source shortest path using Dijkstra’s and Bellman-Ford algorithms.
  • Analyze the greedy approach for solving optimization problems like Huffman coding and the fractional knapsack problem.
  • Demonstrate the use of dynamic programming in solving problems like 0/1 knapsack and matrix chain multiplication.
  • Implement divide and conquer algorithms like binary search and Strassen’s matrix multiplication.
  • Explore the branch and bound approach to solving complex problems like the 4-queens problem and least cost search.
  • Investigate selection algorithms and their applications in finding the k-smallest elements.
  • Assess the complexity of algorithms and understand NP-complete problems and their computational challenges.

What you'll learn ?

  • Explain the significance and differences of various linear sorting algorithms.
  • Solve hashing problems by implementing different collision handling methods such as chaining and linear probing.
  • Evaluate the efficiency of different symbol table implementations in terms of space and time complexity.
  • Compute the shortest paths using Dijkstra’s and Bellman-Ford algorithms for various graph-based problems.
  • Design efficient solutions to optimization problems using the greedy approach.
  • Apply dynamic programming techniques to complex problems like knapsack and matrix chain multiplication.
  • Implement divide and conquer algorithms to improve efficiency in search and matrix multiplication.
  • Solve problems using branch and bound techniques, ensuring optimal solutions for puzzles and scheduling problems.
  • Identify the k-smallest elements in a set of data using selection algorithms.
  • Classify problems as NP-complete and understand the implications of solving these problems in real-world applications.

Syllabus

  • 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

Certificate

  • MKCL provides certificate (for 30/60/90 hours courses) to the KLiC learner after his/her successful course completion.

Academic Approach

The Academic Approach of the course focuses on the “work centric” education i.e. begin with work (and not from a book !), derive knowledge from work and apply that knowledge to make the work more wholesome, useful and delightful. The ultimate objective is to empower the Learner to engage in socially useful and productive work. It aims at leading the learner to his/her rewarding career as well as development of the society.

Learning methodology

  • Learners are given an overview of the course and its connection to life and work.
  • Learners are then exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
  • Learners are then acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
  • Learners are then acquainted with the architecture of the tool or Tool Map so as to appreciate various parts of the tool, their functions and their inter-relations.
  • Learners are then exposed to simple application development methodology by using the tool at the beginner’s level
  • Learners then perform the differential skills related to the use of the tool to improve the given ready-made outputs.
  • Learners are then engaged in appreciation of real-life case studies developed by the experts.
  • Learners are then encouraged to proceed from appreciation to imitation of the experts.
  • After imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
  • 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.

Evaluation Pattern

Evaluation Pattern of KLiC Courses consists of 4 Sections as per below table:

Section No. Section Name Total Marks Minimum Passing Marks
1 Learning Progression 25 10
2 Internal Assessment 25 10
3 Final Online Examination 50 20
Total 100 40
4 SUPWs (Socially Useful and Productive Work in form of Assignments) 5 Assignments 2 Assignments to be Completed & Uploaded

MKCL’s KLiC Certificate will be provided to the learner who will satisfy the below criteria:

  1. Learners who have successfully completed above mentioned 3 Sections i.e. Section 1, Section 2 and Section 3
  2. Additionally, learner should have completed Section 4 (i.e. Section 4 will comprise of SUPWs i.e. Socially Useful and Productive Work in form of Assignments)
    • Learner has to complete and upload minimum 2 out of 5 Assignments

Courses Fee Structure from 01 July, 2025 Onwards

KLiC 30 hour course fee applicable from 01 July, 2025 all over Maharashtra
KLiC Course Duration MFO: MKCL Share
(Including 18% GST)
ALC Share
(Service Charges to be collected by ALC)
30 hours Rs. 300/- Rs. 1,500/-
Important Points:
* Above mentioned fee is applicable for all Modes of KLiC Courses offered at Authorised Learning Center (ALC) and at Satellite Center
* Total fee is including of Course fees, Examination fees and Certification fees
* MKCL reserves the right to modify the Fee anytime without any prior notice