A Python package to track and document the computational complexity of functions.
Project description
BigONavigator - Navigating Computational Complexity
BigONavigator is not just a Python package; it's a journey into the heart of algorithm efficiency. Originally developed as a university project, this tool has grown into a robust resource for developers, researchers, and students alike. It elegantly navigates the complexities of computational performance, providing insights into the Big O notation of algorithms with precision and clarity.
🎓 University Project Background
This project was conceived and developed as part of a university course in Computer Science, aiming to bridge theoretical concepts with practical application. It offers an educational insight into algorithm complexity, making it a perfect tool for academic projects and research.
🌟 Key Features
- Dynamic Complexity Estimation: Intuitively estimate the computational complexity of Python functions. (COMING SOON)
- Decorator-Driven Analysis: Utilize decorators to effortlessly mark and track function complexities.
- Comprehensive Complexity Table: View a summarised table of all tracked functions and their complexities, fostering a deeper understanding of algorithm performance.
🛠 Installation
pip install BigONavigator
📈 Usage
Kickstart your complexity analysis with BigONavigator:
from bigonavigator import O
from bigonavigator import show_complexity_table
@O['n']
def example_linear_function(data):
# Implement linear time complexity operations
pass
# Review the complexity summary
show_complexity_table()
📚 Documentation
Delve deeper into BigONavigator with our comprehensive documentation, which covers everything from setup to advanced features. Perfect for academic purposes and hands-on learning. Check it out here.
🤝 Contributing
Your contributions can help make BigONavigator an even more valuable tool for the academic and developer community:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/YourAmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/YourAmazingFeature
) - Open a Pull Request
📞 Support & Feedback
We welcome feedback and queries! Please file any issues or suggestions on our Issues page or engage with us via Discussions.
📃 License
This project is open-source and available under the MIT License. See LICENSE
for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.