The application simulates a collection of hexagonal priority queues, where each queue stores up to six Binary Search Trees (BSTs). During the simulation, trees are removed according to predefined priority rules and redistributed to neighboring hexagons, allowing the entire system to evolve over multiple rounds.
All data structures were implemented from scratch without using the C++ Standard Template Library (STL).
- C++
- MinGW
- Makefile
- Binary Search Tree (BST) implementation
- Hexagonal priority queue simulation
- Circular linked list implementation
- Queue and stack implemented from scratch
- Dynamic tree redistribution between hexagons
- File-based initialization
- Real-time console visualization
- Round-based simulation
Circular Linked List
│
▼
Hexagonal Priority Queue
│
▼
Binary Search Trees
Additional supporting data structures:
- Queue (node transfer)
- Stack (zigzag visualization)
- Each hexagon stores up to six Binary Search Trees
- Trees are loaded from a text file
- Tree priority is determined by height
- Odd rounds remove the first tree
- Even rounds remove the highest-priority tree
- Removed trees are traversed in post-order
- Nodes are redistributed across the next hexagon
- The simulation updates the screen after every round
Note: The following diagram is taken from the original university assignment and is included for illustrative purposes. It represents the data flow implemented by the application.
Although the program runs entirely in the console, each displayed number represents the current state of a hexagonal priority queue whose internal structure consists of Binary Search Trees (BSTs). Trees are transferred between neighboring hexagons according to the simulation rules.
The doc folder contains:
- Project Report
- Original Assignment Specification
Open a terminal in the project's root directory and run:
mingw32-makeThe Makefile automatically:
- Compiles all source files
- Generates the executable
- Launches the application
- Sakarya University, Computer Engineering
- Data Structures, 2025–2026
