Repository for the Dynamic Data Structures course at URU. It gathers the final versions of the class assignments, from linked lists to trees and graphs.
Table of Contents
This repository brings together the material covered in the Dynamic Data Structures course. Its purpose is to keep the final, working version of each assignment in one organized place — linked lists, stacks and queues, binary trees, and graphs, all implemented from scratch in C++.
Each project folder is self-contained and has its own README with setup instructions and implementation details.
Each project has its own compile/run instructions — see its individual README linked in Main Projects.
- GCC / G++ (MinGW on Windows, or the standard package on Linux/macOS)
- C++11 or higher
- Clone the repo
git clone https://github.com/jerichd4c/dynamic-data-structures.git
- Open the folder for the project you want to run.
- Follow that project's own README to compile and run it.
These are the assignments currently available in the repository:
circular-linked-list-assignment/: simple and doubly circular linked lists for managing person data, with file persistence.stack-queue-assignment/: stack inversion, priority queue processing, and a linked-list-based priority queue.binary-tree-demo/: an N-ary genealogy tree and a self-balancing AVL tree.graph-tree-assignment/: graph traversal via adjacency lists and adjacency matrices.kingdom-binary-tree/: final project — a binary tree modeling royal family succession, with automatic crown transfer rules.
These are the assignments developed during the course. Each one has its own internal documentation.
Kingdom Binary Tree — Final Project
A binary tree implementation for royal family genealogy and succession — automatic king assignment on death, primogeniture and secondary heir rules, and automatic crown transfer for kings over 70.
- Features: CSV import/export, living-heirs succession line, full CRUD on family members.
- Documentation: Project README
Simple and doubly circular linked list implementations for managing person records.
- Features: insert at position, delete by name, search by ID, forward/reverse display, CSV file persistence.
- Documentation: Project README
Three independent programs built around fundamental linear data structures.
- Features: in-place stack inversion, FIFO-compliant queue processing, and a priority queue built on linked lists.
- Documentation: Project README
Two specialized tree structures: an interactive genealogy tree and a self-balancing AVL tree.
- Features: CSV-driven genealogy tree construction, logarithmic-time AVL operations.
- Documentation: Project README
Two graph representations built to compare their trade-offs directly.
- Features: adjacency list (sparse) and adjacency matrix (dense) implementations of the same graph operations.
- Documentation: Project README
This roadmap summarizes the course progress and can keep growing as new units or assignments are added.
- Circular linked lists (simple and doubly linked).
- Stacks and queues, including a priority queue.
- Binary trees: a genealogy tree and a self-balancing AVL tree.
- Graphs: adjacency list and adjacency matrix representations.
- Final project: a binary tree modeling royal succession rules.