Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josephakaro/30-days_of_algorithms
Creating a structured 30-day challenge to learn data structures and algorithms is a fantastic idea! Checkout the README.md for in-depth guideline.
https://github.com/josephakaro/30-days_of_algorithms
30-days-of-code 30daysofcode algorithm algorithms algorithms-and-data-structures data-structures python python3
Last synced: 22 days ago
JSON representation
Creating a structured 30-day challenge to learn data structures and algorithms is a fantastic idea! Checkout the README.md for in-depth guideline.
- Host: GitHub
- URL: https://github.com/josephakaro/30-days_of_algorithms
- Owner: josephakaro
- License: mit
- Created: 2024-04-15T20:58:33.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-16T09:20:05.000Z (10 months ago)
- Last Synced: 2024-11-15T05:28:37.947Z (3 months ago)
- Topics: 30-days-of-code, 30daysofcode, algorithm, algorithms, algorithms-and-data-structures, data-structures, python, python3
- Homepage: https://30daysofcode.josephakaro.tech
- Size: 3.91 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Week 1: Introduction to Data Structures and Algorithms
## `Day 1:` Introduction to Data Structures and Algorithms
Overview of basic terminology, importance, and applications## `Day 2:` Arrays and Strings
Understanding arrays and strings
Operations, common problems, and their solutions## `Day 3:` Linked Lists
Types of linked lists (singly, doubly, circular)
Implementations and common operationsDay 4: Stacks and Queues
Understanding stacks and queues
Implementations, operations, and real-world applications## `Day 5:` Recursion
Understanding recursion and recursive algorithms
Examples and practice problems## `Day 6:` Time Complexity Analysis
Big O notation and analyzing algorithmic complexity
Best, worst, and average-case time complexities## `Day 7:` Space Complexity Analysis
Analyzing space complexity of algorithms
Examples and practice problems# Week 2: Sorting and Searching Algorithms
## `Day 8:` Bubble Sort and Selection Sort
Understanding basic sorting algorithms
Implementations, complexities, and optimizations## `Day 9:` Insertion Sort and Merge Sort
Understanding more efficient sorting algorithms
Implementations, complexities, and comparisons## `Day 10:` Quick Sort
Understanding the Quick Sort algorithm
Partitioning, complexities, and optimizations## `Day 11:` Heap Sort
Understanding the Heap Sort algorithm
Heap data structure, operations, and complexities## `Day 12:` Binary Search
Understanding binary search algorithm
Implementation, complexities, and applications# Week 3: Advanced Data Structures
## `Day 13:` Trees
Introduction to tree data structure
Binary trees, binary search trees, and their operations## `Day 14:` AVL Trees
Understanding balanced binary search trees
Rotations, insertions, and deletions## `Day 15:` Graphs
Introduction to graph data structure
Representations, traversals, and common algorithms## `Day 16:` Graph Algorithms
Depth-first search (DFS) and Breadth-first search (BFS)
Shortest path algorithms (Dijkstra's, Bellman-Ford)## `Day 17:` Hash Tables
Understanding hash tables and hash functions
Implementations, collisions, and handling## `Day 18:` Trie
Introduction to trie data structure
Insertions, deletions, and search operations## `Day 19:` Segment Trees
Understanding segment tree data structure
Construction, queries, and updates
# Week 4: Problem Solving and Practice
## `Day 20-30:` Problem Solving and Practice
Solve a variety of problems from online platforms like LeetCode, HackerRank, or Codeforces
Focus on applying learned concepts to solve algorithmic problems# Recommended Resources:
### Books:
- "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L.
- Rivest, and Clifford Stein
- "Algorithms" by Robert Sedgewick and Kevin Wayne
- "Cracking the Coding Interview" by Gayle Laakmann McDowell
### Online Courses:
- Coursera: "Algorithms" by Princeton University
- Udemy: "Data Structures and Algorithms: Deep Dive Using Java" by Tim Buchalka
- edX: "Algorithm Design and Analysis" by PennX
### Websites and Platforms:
- LeetCode
- HackerRank
- Codeforces
- GeeksforGeeks# Documentation and Tutorials:
- GeeksforGeeks: Provides comprehensive tutorials and explanations for various data structures and algorithms.
- Topcoder Algorithm Tutorials: Offers tutorials on advanced algorithms and problem-solving techniques.
- Stack Overflow and various online forums: Great for finding explanations and discussions on specific problems and concepts.