Skip to content

YashvardhanJani/PDEU-DS-Lab-Programs

Repository files navigation

🗃️ PDEU Data Structures Lab Programs

C GitHub repo size License

GitHub stars GitHub forks GitHub issues GitHub pull requests GitHub last commit Visitors


Explore ProgramsGetting StartedComplexity AnalysisContributingConnect


Student Details

  • Name: Yashvardhan Jani
  • Branch: Computer Science & Engineering (CSE)
  • College: Pandit Deendayal Energy University, Gandhinagar, Gujarat, India

Instructors (Professors)

  • Lab Instructor: Dr. Meera Khanna
  • Theory Lecture Instructor: Dr. Himanshu Gajera

Topics Covered

Experiment 1: Revision of Arrays

  • Linear Search, Binary Search, Sorting Algorithms
    • Implementation of Linear and Binary Search
    • Bubble Sort, Insertion Sort, Selection Sort
    • Finding Min/Max, Second Largest/Smallest elements
  • Structure Definition, Arrays of Structures, Nested Structures
    • Creating and using structures
    • Array of structures for multiple records
    • Nested structure implementation

Experiment 3: Revision of Pointers

  • Pointers with Arrays, Structures, Functions
    • Arrays of pointers and pointers to arrays
    • Pointers to structures
    • Function parameter passing using pointers

Experiment 4: Linked Lists

  • Singly, Doubly, and Circular Linked Lists
    • Merging sorted linked lists
    • Node insertion (front, middle, end)
    • Node deletion operations
    • Circular and doubly linked list implementations

Experiment 5: Stack Implementation

  • Stack using Array and Linked List
    • Stack operations: Push, Pop, Peek
    • Recursive stack sorting
    • Array and linked list implementations

Experiment 6: Stack Applications

  • Expression Conversion and Evaluation
    • Infix to Postfix conversion
    • Postfix expression evaluation
    • Balanced parentheses checking

Experiment 7: Queue Operations

  • Queue, Priority Queue, Circular Queue, Deque
    • Queue implementation using arrays and linked lists
    • Priority Queue operations
    • Double-Ended Queue (Deque)
    • Circular Queue implementation

Experiment 8: Tree Data Structures

  • Binary Trees, BST, Tree Traversals
    • Binary Tree insertion, deletion, search
    • Pre-order, In-order, Post-order traversals
    • Binary Search Tree construction

Experiment 9: Graph Data Structures

  • BFS and DFS Traversals
    • Breadth First Search (BFS) implementation
    • Depth First Search (DFS) implementation
    • Cycle detection in graphs
    • Minimum Spanning Tree (Kruskal's Algorithm)

Experiment 10: Hashing

  • Hash Functions and Collision Resolution

    • Hash table implementation
    • Collision handling techniques
    • Subset checking using hashing
  • End-Sem Lab Practical Exam

Practical Exam - 2025 Set 01 Set 02 Set 03 Set 04

Progress Tracker

Track your progress through the lab experiments:

  • Experiment 1: Arrays
  • Experiment 2: Structures
  • Experiment 3: Pointers
  • Experiment 4: Linked Lists
  • Experiment 5: Stack
  • Experiment 6: Stack Applications
  • Experiment 7: Queue
  • Experiment 8: Trees
  • Experiment 9: Graphs
  • Experiment 10: Hashing

Complexity Analysis Reference

Data Structure Search Insert Delete Space
Array O(n) O(n) O(n) O(n)
Linked List O(n) O(1) O(1) O(n)
Stack O(n) O(1) O(1) O(n)
Queue O(n) O(1) O(1) O(n)
Binary Tree O(n) O(n) O(n) O(n)
BST (balanced) O(log n) O(log n) O(log n) O(n)
Hash Table O(n) O(n) O(n) O(n)

*Worst case complexity

Notes:

  • Binary Search Tree (Unbalanced):
    In the worst case, the tree becomes skewed (like a linked list), leading to O(n) operations.

  • Hash Table:
    Worst case occurs when multiple keys hash to the same index (collisions),
    causing all elements to be stored in a single bucket.


Quick Start Guide

  1. Clone the repository:
    git clone https://github.com/YashvardhanJani/PDEU-DS-Lab-Programs
    cd PDEU-DS-Lab-Programs

Contributing

Contributions are welcome! If you have improvements or additional exercises:

  • How to Contribute

  1. Fork the Project

    • Click on the 'Fork' button at the top right corner
  2. Create your Feature Branch

    git checkout -b feature/AmazingFeature
  3. Commit your Changes

    git commit -m 'Add some AmazingFeature'
  4. Push to the Branch

    git push origin feature/AmazingFeature
  5. Open a Pull Request

    • Go to the original repository and click on 'New Pull Request'

Contribution Guidelines :

  • Follow the existing code style and structure
  • Add comments to explain complex logic
  • Test your code before submitting
  • Update documentation if needed
  • Write clear commit messages

Star this repository if you found it helpful!

💡 "Algorithms are the soul of computer science and data structures are the building blocks through which algorithms come to life - master them."


Connect & Collaborate

GitHub    LinkedIn    Email


License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by Yashvardhan Jani | CSE Student @ PDEU


⬆️ Back to Top

About

All Program Files of Data Structures which are coded at PDEU Computer Lab.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages