Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: about 2 months ago
JSON representation

Data structures and algorithms in X minutes. Code examples from my YouTube channel.

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