🚧 Note: This portfolio is a living project (WIP), consistently evolving and adapting to reflect new insights and development practices.
Welcome to the Algorithms and Data Structures Portfolio. This repository is exclusively intended as a portfolio project to showcase my understanding and multi-language skills pertaining to algorithms and data structures. It is a collection of popular algorithms and data structures implemented in various programming languages, including Python and Go. The aim is to provide clear, concise, and efficient implementations for both educational purposes and real-world applications.
At its current state, the project is organized by algorithms/data structures and then further divided by the programming language. The presented structure gives a glimpse into the layout, but keep in mind, this is an evolving portfolio, and I'll be continuously expanding the repository as I add more solutions and dive into other languages and topics.
The structure below is a high-level overview:
algorithms-and-data-structures-portfolio
|-- algorithms
| |-- dynamic-programming
| | |-- python
| | | |-- max_sum_divisible_by_k.py
| |-- hashing
| | |-- quadratic-probing
| | | |-- python
| | | | |-- hash_quadratic_probing.py
| | | | |-- README.md
| |-- searching
| | |-- binary-search
| | | |-- go
| | | | |-- binary_search_test.go
| | | | |-- binary_search.go
| | | | |-- go.mod
| | | | |-- README.md
| | | |-- python
| | | | |-- tests
| | | | | |-- test_binary_search.py
| | | | |-- README.md
| | | | |-- binary_search.py
| |-- sorting
| | |-- adjusted-counting-sort
| | | |-- python
| | | | |-- tests
| | | | | |-- test_adjusted_counting.py
| | | | |-- adjusted_counting.py
| | | | |-- README.md
|-- data-structures
| |-- hash-tables
| | |-- python
| | | |-- hash_table_simple.py
| | | |-- tests
| | | | |-- test_hash_table_simple.py
| | | |-- README.md
| |-- linked-lists
| | |-- double-linked-list
| | |-- python
| | | |-- double_linked_list.py
| | | |-- double_linked_list_lru_eviction.py
| | | |-- tests
| | | | |-- test_double_linked_list.py
| | | | |-- test_double_linked_list_lru_eviction.py
| | | |-- README.md
|-- .gitignore
|-- LICENSE
|-- README.md
Each language-specific directory contains implementations along with a README that offers detailed explanations and any supplementary notes.
To explore a specific algorithm or data structure:
- Navigate to the desired algorithm or data structure directory.
- Choose your preferred programming language.
- Follow the instructions in the corresponding README to run and test the code.
The implementations are available in:
- Python
- Go
... with more on the way!
This project is licensed under the MIT License. Please refer to the LICENSE file for more details.