Algorithm Selector
Overview
This repository contains a comprehensive collection of algorithms across various domains including computational algorithms, data structures, machine learning, cryptographic methods, and more. Each algorithm is implemented with a focus on clarity, efficiency, and adherence to best practices.
Table of Contents
Installation
To get started with this repository, clone it to your local machine using:
git clone https://github.com/thomasthaddeus/AlgorithmSelector.git
cd algorithm-repository
Install the required dependencies:
pip install -r requirements.txt
Usage
Each algorithm is encapsulated in its own class and can be used independently. Here's an example of how to use an algorithm from the repository:
from src.data_structures.binary_search_tree import BinarySearchTree
# Example usage
bst = BinarySearchTree()
bst.insert(3)
bst.insert(1)
bst.insert(4)
print(bst.search(1)) # Output: True or False
Directory Structure
The repository is organized as follows:
src/: Contains the source code for all algorithms.computational/: Computational algorithms like FFT, Monte Carlo, etc.data_structures/: Common data structures like AVL Tree, Heap, etc.ml/: Machine learning algorithms like k-means, linear regression, etc....(other directories following a similar structure)
tests/: Contains unit tests for each algorithm.docs/: Documentation related to the algorithms.scripts/: Useful scripts like setup or build scripts.requirements.txt: List of dependencies for the project.pyproject.toml: Project metadata and configuration.
Testing
To run the tests, navigate to the root directory of the project and run:
python -m unittest discover -s tests
Contributing
Contributions to the repository are welcome! Here's how you can contribute:
- Fork the repository and create your branch from
main. - Write your algorithm or improvement.
- Ensure your code passes all existing tests and add new tests if necessary.
- Submit a pull request.
Please ensure your code adheres to the existing style conventions and add relevant documentation.
License
This project is licensed under the MIT License.
Release files for AlgorithmSelector 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| algorithmselector-1.1.0.tar.gz | 41.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| algorithmselector-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.2 kB
Release files / algorithmselector-1.1.0.tar.gz
| Download URL | algorithmselector-1.1.0.tar.gz |
|---|---|
| Size | 41.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd36adc99675d244aa9a65884370941055587974349adc35b67a1949b0dd14be
|
|
BLAKE2b-256 checksum How to use checksums |
1d773a49a8a54527f423e4ec55378399f7b5f527bc1c5bd8926a85d9c5b80e6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.12.1 Linux/6.2.0-1018-azure
|
Release files / algorithmselector-1.1.0-py3-none-any.whl
| Download URL | algorithmselector-1.1.0-py3-none-any.whl |
|---|---|
| Size | 4.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
204d06bf43752df4ae7715b17f6d0b9c7c39dfa14ae9401fe2964d2788435de9
|
|
BLAKE2b-256 checksum How to use checksums |
63909d95ddfd5a43fbfe04d41345f2aee6ca05ea56379e5e78fd7b1488872df0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.12.1 Linux/6.2.0-1018-azure
|