A Python package showcasing algorithms, data structures, and mathematical concepts.
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.
- 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
git clone https://github.com/your-username/vicentin.git
cd vicentinpython -m venv venv
source venv/bin/activatepip install -r requirements.txtImport 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: 2This repository uses pre-commit to enforce coding standards, automatic formatting and automatic version bumping before commits.
pip install pre-commitpre-commit install3️⃣ Use commitizen to commit
cz commitThis project is licensed under the MIT License.