Skip to content

azrabano23/datastructures_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Data Structures Labs

๐Ÿ“š CS112 โ€“ Data Structures Project Portfolio (Java)

Azra Bano ยท Rutgers University ยท Spring 2025

Welcome! This repository contains core Java-based implementations of essential data structures and algorithms across a series of themed, real-world simulation projects. From interactive dictionaries and assistive technologies to map navigation systems and queue simulators, each module demonstrates mastery over object-oriented programming, recursion, and data modeling.


๐Ÿ” Overview of Projects

1. ๐ŸŒณ BST Dictionary

Concepts: Binary Search Tree, Tree Traversals, Hibbard Deletion
Features:

  • Recursive implementation of in-order, pre-order, post-order, and level-order traversals
  • Recursive Hibbard Deletion strategy for removing nodes from a BST
  • Level-order traversal using a Queue
  • Real-time structure for dictionary lookups and word definitions

Why It Matters:
Models how digital dictionaries or glossary search systems store and manage content efficiently using self-organizing trees.


2. โ ‡Braille Translator (BST)

Concepts: Binary Tree, Custom Encoding Path Traversal
Features:

  • Braille-to-English translation using recursive tree descent
  • BST construction from an input encoding file
  • Dynamic encoding lookup and prefix search
  • Custom deleteSymbol() implementation with backtracking to remove empty branches

Why It Matters:
Simulates assistive accessibility software that converts binary Braille codes into readable English, enhancing inclusivity through technology.


3. ๐Ÿ‘ฉโ€๐Ÿซ Kindergarten Classroom Simulator

Concepts: Linked Lists (Singly & Circular), Queue Simulation
Features:

  • Classroom seat assignment via boolean grid
  • Circular Linked List for musical chairs game logic
  • Sorted reinsertion using compareNameTo()
  • Transition management between line, seating, and gameplay states

Why It Matters:
Models real-time object state transitions using dynamic memory structures. A creative but rigorous demonstration of linked list behavior in user-facing applications.


4. ๐Ÿ•ต๏ธ Cyber Crime Investigation Tool

Concepts: Hash Tables, Resizing, Linked Lists, Priority Queues
Features:

  • Chaining-based hash table for hacker profiles
  • Resizing when the load factor exceeds 0.5
  • Merge logic based on incident volume
  • Location-based filtering and top N most wanted via Max Priority Queue

Why It Matters:
Replicates a forensic-grade database for threat intelligence, showcasing how hashing and sorting power investigative workflows.


5. ๐Ÿ—บ๏ธ RUMaps โ€“ Graph-Based Navigation System

Concepts: Graphs, DFS, BFS, Dijkstraโ€™s Algorithm
Features:

  • Campus-scale routing using adjacency list representation
  • DFS for reachability, BFS for minimum turns, Dijkstra for fastest path
  • Traffic-aware cost calculation (dynamic weights)
  • Visualization-ready with coordinate geometry

Why It Matters:
Mimics navigation systems like Google Maps, using real algorithmic thinking to build efficient and responsive pathfinding logic.


6. ๐ŸŽข Theme Park Queue Simulator

Concepts: Linked Queue
Features:

  • Custom implementation of enqueue and dequeue
  • Tracks line length in real time
  • Handles both general and edge cases (empty queue, single rider, etc.)

Why It Matters:
Replicates real-world queue dynamics and reinforces understanding of linear data structures used in operating systems, simulations, and UI design.


๐Ÿง  Skills Demonstrated

Category Technologies / Concepts
Language Java
Core DS BST, Hash Tables, Linked Lists, Queues, Graphs
Algorithms DFS, BFS, Dijkstra, Tree Traversals
Design Patterns Recursion, Encapsulation, Abstraction
Problem Solving Real-world simulation, input parsing, deletion
Tooling Custom StdIn, StdOut, Unit Testing

๐Ÿ’ฌ About Me

I'm Azra Bano โ€” a Rutgers engineer, software developer, and aspiring AI & systems designer. These projects have taught me how theory meets application, and how to turn raw data structures into meaningful, efficient solutions.

๐Ÿ“ซ Let's connect:


๐Ÿงพ License

This repository is open-source and intended for academic, interview, and portfolio use.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages