Skip to content

VileEnd/avlTreeExam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌲 AVL Tree Visualization 🌲

Build Status

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.

🎯 Features 🎯

  • 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.

💡 Future Enhancements 💡

  • 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.

🚀 Usage 🚀

  • 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.

🤝 Contributing 🤝

Pull requests are welcome. For significant changes, please open an issue first to discuss what you would like to change.

📜 License 📜

GPL-3.0