A C++ project implementing hierarchical biological data structures with AVL tree validation and Radix sorting algorithms.
datastructure/
├── bin/ # Compiled executable
├── include/ # Header files (.hpp)
├── lib/ # Object files (.o)
├── src/ # Source files (.cpp)
├── makefile # Build configuration
└── Veri.txt # Input data file
The project implements a hierarchical biological structure:
- Organizma (Organism): Top-level container for systems
- Sistem (System): Contains multiple organs
- Organ (Organ): Contains tissues, uses AVL tree structure
- Doku (Tissue): Contains cells
- Hucre (Cell): Basic data unit
- AVL Tree Validation: Checks if organ structures maintain AVL tree properties
- Radix Sort: Sorts data using radix sort algorithm
- Visualization: Outputs a visual representation using spaces and
#characters
- C++ Compiler: g++ (GNU Compiler Collection)
- Make: Build automation tool
- Operating System: Windows, Linux, or macOS
make allThis command will:
- Compile all source files (
derle) - Link object files into executable (
bagla) - Run the program (
calistir)
-
Compile source files:
make derle
-
Link object files:
make bagla
-
Run the program:
make calistir
Or directly:
./bin/program
On Windows:
.\bin\program.exe
If you prefer to compile manually:
# Compile all source files
g++ -c -I "./include" ./src/main.cpp -o ./lib/main.o
g++ -c -I "./include" ./src/hucre.cpp -o ./lib/hucre.o
g++ -c -I "./include" ./src/doku.cpp -o ./lib/doku.o
g++ -c -I "./include" ./src/organ.cpp -o ./lib/organ.o
g++ -c -I "./include" ./src/radix.cpp -o ./lib/radix.o
g++ -c -I "./include" ./src/sistem.cpp -o ./lib/sistem.o
g++ -c -I "./include" ./src/sistemnode.cpp -o ./lib/sistemnode.o
g++ -c -I "./include" ./src/organizma.cpp -o ./lib/organizma.o
g++ -c -I "./include" ./src/kontrol.cpp -o ./lib/kontrol.o
# Link all object files
g++ ./lib/kontrol.o ./lib/organizma.o ./lib/sistemnode.o ./lib/sistem.o ./lib/radix.o ./lib/organ.o ./lib/doku.o ./lib/hucre.o ./lib/main.o -o ./bin/program
# Run
./bin/programThe program reads from veri.txt (or Veri.txt). Ensure this file exists in the project root directory. The file should contain numeric data organized in lines.
The program generates a visual representation where:
(space) indicates a valid AVL tree structure#indicates an invalid AVL tree structure
To clean compiled files and rebuild from scratch:
# Remove object files
rm -rf lib/*.o
# Remove executable
rm -f bin/program bin/program.exe
# Rebuild
make allOn Windows PowerShell:
Remove-Item lib\*.o
Remove-Item bin\program.exe
make all- Ensure
veri.txtexists in the project root - Check file name case sensitivity (especially on Linux/macOS)
- Verify g++ is installed:
g++ --version - Ensure all header files are in the
include/directory - Check that all source files are in the
src/directory
- On Windows: Install MinGW or use WSL (Windows Subsystem for Linux)
- On Linux: Install with
sudo apt-get install build-essential - On macOS: Install Xcode Command Line Tools:
xcode-select --install
-
Source Files (
src/): Implementation filesmain.cpp: Entry pointhucre.cpp: Cell implementationdoku.cpp: Tissue implementationorgan.cpp: Organ with AVL treesistem.cpp: System implementationsistemnode.cpp: System node for linked listorganizma.cpp: Organism implementationkontrol.cpp: Control and data processingradix.cpp: Radix sort algorithm
-
Header Files (
include/): Class declarations and interfaces
This project appears to be an academic assignment (based on file g211210554.pdf).