Personal collection of algorithms.
Project description
Vicentin
A Python package showcasing algorithms, data structures, and mathematical concepts.
Table of Contents
Introduction
vicentin is a Python package that contains my personal implementations of a variety of algorithms, data structures, and optimization techniques. It serves as a collection of theoretical and practical programming concepts.
Features
- Data Structures: Queue, Stack, Tree, Graph, Heap, Priority Queue, Trie, Union Find
- Dynamic Programming: Knapsack, Matrix Chain Multiplication, Rod Cutting
- Graph Algorithms: Minimum Spanning Tree (MST), Shortest Path
- Image Processing: Optical Flow, Differentiation, Regularization
- Optimization: Gradient Descent
- Sorting: Heap Sort
- Mathematical Tools: PCA, Kernel PCA, Polynomial Operations
Installation
1️⃣ Clone the Repository
git clone https://github.com/your-username/vicentin.git
cd vicentin
2️⃣ Set Up a Virtual Environment
python -m venv venv
source venv/bin/activate
3️⃣ Install Dependencies
pip install -r requirements.txt
Usage
Import the package and use its functionalities in Python scripts.
import vicentin
# Example: Using the heap data structure
from vicentin.data_structures.heap import Heap
heap = Heap()
heap.insert(5)
heap.insert(2)
heap.insert(8)
print(heap.extract_min()) # Output: 2
Pre-commit Setup
This repository uses pre-commit to enforce coding standards, automatic formatting and automatic version bumping before commits.
1️⃣ Install pre-commit
pip install pre-commit
2️⃣ Install Hooks
pre-commit install
3️⃣ Use commitizen to commit
cz commit
License
This project is licensed under the MIT License.
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vicentin-0.13.2.tar.gz.
File metadata
- Download URL: vicentin-0.13.2.tar.gz
- Upload date:
- Size: 63.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63ab8f7fa40a9545a857d11720dd3c8e5938fc848c647917193eba4976d74126
|
|
| MD5 |
b09a6248eb36e5aea81ae8fe7fce2e71
|
|
| BLAKE2b-256 |
13f41b26acaf5f8e037c97b01944620217ba04b34a7c01dba3a07caab2439774
|
Provenance
The following attestation bundles were made for vicentin-0.13.2.tar.gz:
Publisher:
publish.yml on Vinschers/algorithms
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vicentin-0.13.2.tar.gz -
Subject digest:
63ab8f7fa40a9545a857d11720dd3c8e5938fc848c647917193eba4976d74126 - Sigstore transparency entry: 910701277
- Sigstore integration time:
-
Permalink:
Vinschers/algorithms@21e748adf188c953ef4e8411740a7a876bfc4bf8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Vinschers
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21e748adf188c953ef4e8411740a7a876bfc4bf8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vicentin-0.13.2-py3-none-any.whl.
File metadata
- Download URL: vicentin-0.13.2-py3-none-any.whl
- Upload date:
- Size: 99.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0762c945d03cb8e1e8ccc68b5bee7f8d7ec3dedd71b6d5f33f1acf01026a752
|
|
| MD5 |
e73c7d384839891fcc32506e7db4ad7a
|
|
| BLAKE2b-256 |
86f663633999f13649b26672557ff57aa53b6ab120ad8542adc6c071b4451a85
|
Provenance
The following attestation bundles were made for vicentin-0.13.2-py3-none-any.whl:
Publisher:
publish.yml on Vinschers/algorithms
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vicentin-0.13.2-py3-none-any.whl -
Subject digest:
f0762c945d03cb8e1e8ccc68b5bee7f8d7ec3dedd71b6d5f33f1acf01026a752 - Sigstore transparency entry: 910701283
- Sigstore integration time:
-
Permalink:
Vinschers/algorithms@21e748adf188c953ef4e8411740a7a876bfc4bf8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Vinschers
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21e748adf188c953ef4e8411740a7a876bfc4bf8 -
Trigger Event:
push
-
Statement type: