This repository contains an AVL tree implementation in JavaScript and Java. It provides a visual interface through a web page, allowing users to interact with the AVL tree in real-time.
- Node Insertion: Add nodes to the tree and watch the tree balance itself dynamically.
- Rotations: Supports Right, Left, Right-Left, and Left-Right rotations.
- Tree Traversals: Displays Pre-order, In-order, and Post-order traversals.
- Rotation Count Tracking: Keeps track and displays the count of each type of rotation.
- Tree Statistics: Displays the depth and balance factor of the tree.
- Node Deletion: Implements node deletion while maintaining the balance of the tree.
- Search Functionality: Includes a search bar to locate nodes in the tree.
- Performance Metrics: Displays metrics such as time taken for operations, number of comparisons made, etc.
- Responsive Design: The user interface is responsive for better mobile device support.
- Undo/Redo Functionality: Implement an redo feature to allow users to reapply their actions.
- Bulk Operations: Allow users to delete multiple nodes at once.
- Animation Speed Control: Provide a slider to control the speed of the animations.
- Dark Mode: Implement a dark mode for the user interface.
- Web Interface: Visit https://vileend.github.io/avlTreeExam/ to interact with the AVL tree or clone the repo and access the index.html in your browser
- Java Implementation: Run the Java code to observe AVL tree operations in the console.
Pull requests are welcome. For significant changes, please open an issue first to discuss what you would like to change.
GPL-3.0