Skip to content

Latest commit

 

History

History
104 lines (79 loc) · 2.29 KB

File metadata and controls

104 lines (79 loc) · 2.29 KB

📘 Java Data Structure – Labs & Lecture Code Collection

This repository contains a complete set of Java implementations for fundamental Data Structures and Algorithms, including all course labs, lecture examples, and supporting utility code.
It is organized for learning, revision, and reference for anyone studying core CS concepts.


🚀 Covered Topics

✔ Fundamental Data Structures

  • Arrays
  • Linked Lists (single / double)
  • Stacks & Queues
  • Priority Queues
  • Hash Tables
  • Trees (Binary Tree, BST, etc.)
  • Heaps
  • Graph representations

✔ Algorithms

  • Sorting (Bubble, Selection, Insertion, Merge, Quick, Heap Sort)
  • Searching (Linear Search, Binary Search)
  • Recursion & Divide-and-Conquer
  • Graph Traversal (DFS, BFS)
  • Tree Traversal (Inorder / Preorder / Postorder)

✔ Course Materials Included

  • lab1lab13 implementations
  • lecture1lecture12 example code
  • library/ supporting utility classes

📂 Repository Structure

Java_Data_Structure/
│
├── lab1/
├── lab2/
├── lab3/
├── lab4/
├── lab5/
├── lab6/
├── lab8/
├── lab9/
├── lab10/
├── lab12/
├── lab13/
│
├── lecture1/
├── lecture2/
├── lecture3/
├── lecture4/
├── lecture5/
├── lecture6/
├── lecture8/
├── lecture10/
├── lecture11_and_lab11/
├── lecture12/
│
└── library/        # shared utilities / helper classes

Each lab and lecture folder corresponds to a specific concept or algorithm introduced during the course.


🛠 How to Use

Compile all .java files:

javac *.java

Run an individual Java program:

java FileName

(Adjust paths depending on the folder structure.)

🎯 Purpose of This Repository

  • Consolidate all course-related data structure code
  • Provide clean reference implementations
  • Serve as a study resource for exams or technical interviews
  • Build foundational Java programming skills

🤝 Contribution

Although this is primarily a course repository, you can still:

  1. Fork the repository
  2. Create a new branch:
    feat_xxx
    
  3. Commit your improvements (optimizations, visualizations, added algorithms, etc.)
  4. Submit a Pull Request