Skip to content

itsCodeBakery/Data-Structures-Lab-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Data Structure Lab – Semester III (BS AI)

Welcome to the official Data Structure Lab Repository for BS (AI) – Group A & Group B. This repository contains all lab tasks, starter code, assignments, and additional resources for the course.


πŸ§‘β€πŸ« Instructor

Course Instructor: Syed Shayan Ali Shah Course Duration: 16 September – 15 January Lecture Days: Thursday & Friday (Weekly) Programming Language: C++


πŸ“– Course Description

This lab focuses on hands-on implementation of core data structures using C++. Students will learn how data is organized, manipulated, and traversed in memory, using both array-based and linked representations.


πŸ—‚ Lab Topics

We will follow the textbook Fundamentals of Data Structures in C++ by Horowitz, Sahni, and Mehta and cover the following topics:

  1. Pointers Refresher

    • Dereferencing
    • Dynamic Memory Allocation (new, delete)
    • Dangling Pointers & Memory Leaks
  2. List Data Structures

    • List Operations
    • Array-based List Implementation
  3. Linked Lists

    • Creating Nodes
    • Linking Nodes via Pointers
    • Insertion, Searching, Deletion
    • Singly, Doubly & Circular Lists
  4. Stacks

    • Array-based Implementation
    • Linked List Implementation
    • Applications: Expression Conversion, Postfix Evaluation, Bracket Matching
  5. Queues

    • Simple & Circular Queues
    • Linked List Implementation
    • Simulation Problems
  6. Recursion & Trees

    • Binary Trees, BSTs
    • Traversals, Applications
    • AVL Trees (Insertion & Deletion)
    • Expression Trees, Huffman Coding
  7. Heaps, Hashing, and Graphs

    • Heap Operations
    • Hash Functions, Collisions
    • Graph Representations
    • BFS and DFS Traversals

πŸ— How We Work

  • Weekly Updates: The repository will be updated weekly before each lecture with:

    • Lab problems
    • Starter code / skeletons
    • Practice exercises
    • Additional notes and resources
  • Student Workflow:

    1. Pull or download the latest lab task from GitHub before class.
    2. Complete the task during the lab session.
    3. Submit your solution (if required) according to instructions given in class.

πŸ›  Requirements

  • Compiler: g++ / any C++17 compliant compiler
  • IDE: (Recommended) Code::Blocks / Visual Studio Code
  • GitHub: Students must know how to clone, pull, and commit code.

πŸ“Œ Important Notes

  • This repository is continuously evolving β€” check for updates every Wednesday evening.
  • Focus on writing clean, well-commented code.
  • Follow best memory management practices β€” avoid memory leaks and dangling pointers.

🎯 Learning Outcomes

By the end of this lab, students will:

  • Gain confidence in implementing data structures from scratch.
  • Understand memory management and pointer manipulation in C++.
  • Learn to solve real-world problems using data structures.
  • Develop clean, maintainable, and efficient C++ code.

About

No description, website, or topics provided.

Resources

Stars

33 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors