This project implements various sorting algorithms and provides an interface to interact with them. The program allows users to select different sorting methods and visualize their performance using graphical representations.
This project focuses on implementing various sorting algorithms and providing an interface to interact with them. The program allows users to select different sorting methods and visualize their performance using graphical representations.
- Multiple Sorting Algorithms: Implements various sorting techniques to handle different input cases.
- Graphical Visualization: Provides graphical representations of sorting performance.
- Multi-Language Support: Supports English and Portuguese interfaces for ease of use.
- CSV Data Handling: Uses structured data (ascending, descending, random) to demonstrate sorting behavior.
- Modular Design: Well-structured and documented codebase for easy modifications and enhancements.
asymptotic_analysis/
│-- data/
│ │-- ascending.csv
│ │-- descending.csv
│ │-- graphics.py
│ │-- random.csv
│-- interfaces/
│ │-- english_interface.py
│ │-- portuguese_interface.py
│-- .gitignore
│-- LICENSE
│-- README.md
│-- __init__.py
│-- main.py
│-- setup.py
│-- sorting_algorithms.py
-
Clone the repository:
git clone https://github.com/DanielServejeira/asymptotic_analysis cd asymptotic_analysis
-
Install dependencies:
pip install pandas pip install matplotlib
To execute the program, simply run:
python main.py
The program will prompt you to choose between different interfaces (English or Portuguese) and sorting options.
- Various sorting algorithms implemented in
sorting_algorithms.py
- CSV data files for testing different cases (ascending, descending, random)
- Graphical representation of sorting performance in
graphics.py
- Support for English and Portuguese interfaces
This project is licensed under the MIT License. See the LICENSE
file for details.