Application that lets you create, visualize, and perform operations on 3 types of binary search trees: Simple, AVL, Red-black.
- Support 3 types of BSTs
- Insert, remove and search for elements in trees
- Store BSTs in 3 different ways: in PostgreSQL or Neo4j db or locally in .json files
- Drag nodes of the trees
- Zoom and drag the screen for better viewing experience
- Kotlin based, Coroutines for asynchronous execution
- Compose Multiplatform: modern UI framework for Kotlin
- Koin: pragmatic lightweight dependency injection framework
- bstrees: library made specifically for the project that provides BSTs data structures and ways to save them in persistent storage. To learn more please read its own README
You can download the latest version of the application on Releases page.
This project uses Gradle
build system. Here are commands for some of its most important tasks:
Command | Description |
---|---|
./gradlew packageUberJarForCurrentOS |
Creates a single jar file, containing all dependencies for current OS |
./gradlew run |
Runs the application |
./gradlew assemble |
Builds without tests |
./gradlew test |
Runs the unit tests |
./gradlew tasks |
Displays all runnable tasks |
Distributed under the MIT License. See LICENSE for more information.