Applications of Data Structures in C and C++
Track Software Development
Duration 30 hours
Skill Level Advanced
Language English

About this Course

Explore real-world applications of data structures in areas like searching, sorting, and file systems.
Learning Mode: Learn at ALC or at Home

Detailed Course Curriculum

Hands-on module breakdown aligned with MKCL production standards and industry requirements.

  • 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 Applications of Data Structures in C and C++?

Join our upcoming batch at ZICA Kalyani center with certified instructors.