msambol / dsa

Data structures and algorithms in X minutes. Code examples from my YouTube channel.
https://youtube.com/michaelsambol
MIT License
459 stars 100 forks source link
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

Data Structures & Algorithms

Code examples from my YouTube channel. 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 Code
Analyzing Algorithms Time complexity of algorithms including 𝚯, O, and 𝛀. Playlist Code
Data Structures The building blocks! Playlist Code
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 Code
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 Code
Maximum Flow Algos Algorithms that compute the maximum flow in a flow network. Ford–Fulkerson = greedy. Playlist Code
Search Algos Searching arrays and tree data structures. Playlist Code
Sort Algos Sorting unordered arrays. Playlist Code
Tree Traversal Algos Traversing binary search trees. Playlist Code
Red-Black Trees Self-balancing binary search trees with red and black nodes. Playlist Code
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 Code
B-Trees Self-balancing search trees with nodes that may have more than two children. Well suited for databases and file systems. Playlist Code
Heaps Nearly complete binary trees useful for priority queues (min–heaps) and heap sort (max–heaps). Playlist Code
Fibonacci Heaps Data structure that implements a mergeable heap. Playlist Code

Additional Learning

Languages

Subtitles are posted in the languages below. If I missed yours, send me a note.