Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

azrabano23/datastructures_java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 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

Data structures and algorithms coursework (Java): labs and implementations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /