An Open source code formatter that uses machine learning to determine the time and space-complexity of your algorithm and its efficiency and recommends a faster and more efficient algorithms of a lower time, and if chosen space-complexity whilst keeping code function and integrity, for Python and Rust (Planned).
- Logging of space and time complexity.
- Before and after time complexity comparison.
- Smart variable detection to allow ease of converting.
- Programming language detection.
- Revert back to previous algorithm if code errors do occur.
- Machine learning-based complexity prediction.
Time Complexity | Color |
---|---|
O(1), O(log n) | #1CF423 |
O(n log n) | #F98FAD |
≤ O(n²) | #FF4846 |
python -m algofinder <path_to_python_file>
To train the model, you need a CSV file containing the training data. The CSV file should have the following columns:
num_loops
: The number of loop statements in the algorithm.num_conditionals
: The number of conditional statements in the algorithm.num_variables
: The number of variables in the algorithm.num_arrays
: The number of arrays in the algorithm.complexity
: The complexity of the algorithm.
You can train the model using the following command:
python -m algofinder train <path_to_csv_file>
To analyze the complexity of the algorithms in a Python file, use the following command:
python -m algofinder analyze <path_to_python_file>
-
Improved CLI
-
Better Variable Detection
-
Rust and Other Language Support
-
Web Demo
-
Language Detection(Done) -
Use Click For CLI