Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/msambol/dsa
Data structures and algorithms in X minutes. Code examples from my YouTube channel.
https://github.com/msambol/dsa
algorithms b-trees bellman-ford-algorithm binary-search breadth-first-search computer-science data-structures depth-first-search dijkstras-algorithm floyd-warshall-algorithm ford-fulkerson-algorithm kruskals-algorithm maximum-flow minimum-spanning-trees prims-algorithm red-black-trees search-algorithms shortest-path-algorithms sorting-algorithms tree-traversal
Last synced: 11 days ago
JSON representation
Data structures and algorithms in X minutes. Code examples from my YouTube channel.
- Host: GitHub
- URL: https://github.com/msambol/dsa
- Owner: msambol
- License: mit
- Created: 2022-03-30T18:04:45.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-17T12:54:42.000Z (4 months ago)
- Last Synced: 2024-07-18T05:31:12.517Z (4 months ago)
- Topics: algorithms, b-trees, bellman-ford-algorithm, binary-search, breadth-first-search, computer-science, data-structures, depth-first-search, dijkstras-algorithm, floyd-warshall-algorithm, ford-fulkerson-algorithm, kruskals-algorithm, maximum-flow, minimum-spanning-trees, prims-algorithm, red-black-trees, search-algorithms, shortest-path-algorithms, sorting-algorithms, tree-traversal
- Language: Python
- Homepage: https://youtube.com/michaelsambol
- Size: 123 KB
- Stars: 380
- Watchers: 6
- Forks: 87
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Data Structures & Algorithms
Code examples from my [YouTube channel](https://www.youtube.com/@MichaelSambol).
The code may differ on some videos, as I've added to this retroactively.## Topics
| Topic | Description | Playlist | Code |
| ----- | ----------- | -------- | -----|
| CS Tutorials | All of my computer science tutorials in one playlist. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZPKwb4XPB1sG7S6kNpN9JJo) | [Code](https://github.com/msambol/dsa) |
| Analyzing Algorithms | Time complexity of algorithms including 𝚯, O, and 𝛀. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZMxejjIyFHWa-4nKg6sdoIv) | [Code](https://github.com/msambol/dsa/tree/master/analyzing_algorithms) |
| Data Structures | The building blocks! | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZO2D89q42-y8voxIJKpB4oR) | [Code](https://github.com/msambol/dsa/tree/master/data_structures) |
| Minimum Spanning Trees | Greedy algorithms for finding a minimum spanning tree in a weighted, undirected graph. Prim's = pick a node. Kruskal's = iterate through edges. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZObEi3Hf6lmyW-CBfs7nkOV) | [Code](https://github.com/msambol/dsa/tree/master/minimum_spanning_trees) |
| Shortest Path Algos | Dijkstra's = shortest path from one node to all nodes. Bellman–Ford = shortest path from one node to all nodes, negative edges allowed (not negative cycles). Floyd–Warshall = shortest path between all pairs of vertices, negative edges allowed (not negative cycles). | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZO-Y-H3xIC9DGSfVYJng9Yw) | [Code](https://github.com/msambol/dsa/tree/master/shortest_path) |
| Maximum Flow Algos | Algorithms that compute the maximum flow in a flow network. Ford–Fulkerson = greedy. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZPxifnyXjQVU1bhU4b4_Ts2) | [Code](https://github.com/msambol/dsa/tree/master/maximum_flow) |
| Search Algos | Searching arrays and tree data structures. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZMIAJn8M6At9CjZ0Wu0B31d) | [Code](https://github.com/msambol/dsa/tree/master/search) |
| Sort Algos | Sorting unordered arrays. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZOZSbGAXAPIq1BeUf4j20pl) | [Code](https://github.com/msambol/dsa/tree/master/sort) |
| Tree Traversal Algos | Traversing binary search trees. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZO1JC2RgEi04nLy6D-rKk6b) | [Code](https://github.com/msambol/dsa/tree/master/tree_traversal) |
| Red-Black Trees | Self-balancing binary search trees with red and black nodes. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNqDI8qfOZgzbqahCUmUEin) | [Code](https://github.com/msambol/dsa/blob/master/trees/red_black_tree.py) |
| AVL Trees | Self-balancing binary search trees with nodes that have a balance factor of -1, 0, or 1. Balance factor = height of left child - height of right child. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZOUFgdIeOPuH6cfSnNRMau-) | [Code](https://github.com/msambol/dsa/blob/master/trees/avl_tree.py) |
| B-Trees | Self-balancing search trees with nodes that may have more than two children. Well suited for databases and file systems. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNFPPv98DjTdD9X6UI9KMHz) | [Code](https://github.com/msambol/dsa/blob/master/trees/b_tree.py) |
| Heaps | Nearly complete binary trees useful for priority queues (min–heaps) and heap sort (max–heaps). | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNsyqgPW-DNwUeT8F8uhWc6) | [Code](https://github.com/msambol/dsa/blob/master/data_structures/heap.py) |
| Fibonacci Heaps | Data structure that implements a mergeable heap. | [Playlist](https://www.youtube.com/playlist?list=PL9xmBV_5YoZNkwWDXcSiZjMgacw2P0U2j) | [Code](https://github.com/msambol/dsa/blob/master/data_structures/fibonacci_heap.py) |## Additional Learning
* [Introduction to Algorithms (CLRS)](https://a.co/d/7oRsCT2)
* [Algorithms](https://a.co/d/icfHd1S)
* [Big-O Cheat Sheet](https://www.bigocheatsheet.com/)
* [Python Time Complexities](https://wiki.python.org/moin/TimeComplexity)
* [Coding Interview University](https://github.com/jwasham/coding-interview-university)## Languages
Subtitles are posted in the languages below. If I missed yours, send me a note.
* Arabic
* Bangla
* Chinese
* Croatian
* Czech
* Danish
* Dutch
* English
* French
* German
* Hebrew
* Hindi
* Indonesian
* Italian
* Japanese
* Korean
* Marathi
* Polish
* Portuguese
* Russian
* Spanish
* Swahili
* Tamil
* Telugu
* Turkish
* Ukrainian
* Urdu
* Vietnamese