Welcome to the Data Structures and Algorithms in Python repository! This course provides an in-depth understanding of essential data structures and algorithms, focusing on practical implementations using Python. Whether you're a beginner or brushing up your skills, this repository serves as a resource to master DSA concepts and coding techniques.
-
Linked Lists
- Singly Linked List
- Doubly Linked List
- Circular Linked List
-
Hashmaps
- Key-Value Pair Implementation
- Collision Handling (Chaining, Open Addressing)
- Applications (e.g., Anagram Check, Frequency Count)
-
Stacks and Queues
- Stack Implementation (Array & Linked List)
- Queue Implementation (Array & Linked List)
- Circular Queue
- Applications (e.g., Balancing Parentheses, Reverse a String)
-
Binary Trees
- Binary Tree Basics
- Binary Search Tree (BST)
- Tree Traversals (Inorder, Preorder, Postorder)
- Applications (e.g., Lowest Common Ancestor, Path Sum)
-
Array Algorithms
- Sorting Algorithms (Bubble Sort, Quick Sort, Merge Sort)
- Searching Algorithms (Binary Search)
- Sliding Window Technique
- Two-Pointer Technique
- Clear and concise explanations.
- Python code implementations for every concept.
- Real-world examples to enhance understanding.
- Interactive exercises and problems.
- Basic knowledge of Python programming.
- Python installed on your machine (Download here).
git clone https://github.com/4bhimxnyu/Data-Structure-Algorithm.py
cd dsa-python-course
📁 dsa-python-course
├── LinkedLists
│ ├── singly_linked_list.py
│ ├── doubly_linked_list.py
│ └── circular_linked_list.py
├── Hashmaps
│ ├── basic_hashmap.py
│ ├── collision_chaining.py
│ └── open_addressing.py
├── Stacks_Queues
│ ├── stack.py
│ ├── queue.py
│ └── circular_queue.py
├── BinaryTrees
│ ├── binary_tree_basics.py
│ ├── binary_search_tree.py
│ └── tree_traversals.py
├── ArrayAlgorithms
│ ├── sorting_algorithms.py
│ ├── searching_algorithms.py
│ └── sliding_window.py
└── README.md
- Navigate to the folder of your desired topic.
- Open the corresponding Python file to explore code and concepts.
- Run the code in your favorite IDE or terminal to test the examples.
- Tackle the provided exercises for hands-on learning.
Contributions are welcome! If you have improvements, bug fixes, or additional examples, feel free to:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m "Added feature-name"
). - Push to the branch (
git push origin feature-name
). - Create a pull request.
- Python documentation for in-depth guidance.
- Open-source contributors for inspiration.
Hi! I'm (Abhimanyu Pratap Singh), a passionate developer and educator committed to helping others learn coding and problem-solving. Feel free to connect with me for any questions or feedback!
Happy Coding! 🎉