Welcome to the Data Structures and Algorithms Study Repository! This project serves as a comprehensive collection of my studies and practice with various data structures, algorithms, and architectural principles.
Introduction | Technologies | Project Structure | How to Use
This repository is a personal study guide for mastering data structures, algorithms, and SOLID principles. It includes implementations, explanations, and examples of various concepts, primarily focused on technical interview preparation and clean code practices.
- Programming Languages: Python, JavaScript, TypeScript
- Tools: Node.js, Pytest, Tox, Mypy, Black
├── algorithms/ # Searching, sorting and platform challenges
├── architechture/ # Architectural patterns and SOLID principles
├── data_structures/ # Foundational data structure implementations
├── docs/ # Detailed documentation and studies
└── tests/ # Automated tests
- Searching: Binary Search, Binary Trees.
- Sorting: Bubble Sort, Insertion Sort.
- Challenges: Codility (Binary Gap, Frog Jump, Cyclic Rotation, etc.).
- Explore Algorithms Folder
- Linked Lists: Singly Linked List implementations.
- Explore Data Structures Folder
Practical exercises covering:
- Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.
- Explore SOLID Folder
- Ensure you have Node.js installed.
- Run a script:
node algorithms/search/javascript/binary_tree.mjs
- Ensure you have Python 3.9+ installed.
- Run a script:
python data_structures/linked_list/python/linked_list.py
- For SOLID exercises, you can use
toxto run linting and tests:cd architechture/solid/linkedin-learning/Learning-SOLID-Programming-Principles/Ex_Files_Learning_SOLID_Programming_Principles/Exercise\ Files/ tox