Basic Algorithm Design Patterns
Brute Force
finding the lowest cost Hamiltonian Circuit by Brute Force.https://youtu.be/SIGukyznLLw
Greedy
Watch the Prim's Kruskal's gif animation .
Explore the Visual Interactives to see the Minimum Spanning Tree discovery
mouse click on Prim's or Kruskal's diagrams in the interactive to see the MST https://algorithms.discrete.ma.tum.de/mst
another visualisation for Prims is here: https://www.cs.usfca.edu/~galles/visualization/Prim.html
another visualisation for Kruskals is here: https://www.cs.usfca.edu/~galles/visualization/Kruskal.html
Decrease and Conquer
Depth-first search (DFS) youtube video explainer in 4 minutes with Python code. https://youtu.be/Urx87-NMm6c?si=72s-z_5A4Kw6UU2V
Breadth-first search (BFS) youtube video explainer in 4 minutes with Python code. https://youtu.be/HZ5YTanv5QE?si=iQzFdcevDC7JOTqL
Coding Novices can start building their skills by coding Algorithms in Snap!
Why Snap! ?
•Snap! is a powerful language that requires little knowledge of syntax unlike most coding languages.
•Snap! code can be easily coded from structured pseudocode.
•Snap! language components are selected from each of the category panel at the top left of the user interface. The components represent actions that can be done and have particular shapes that fit together.
•If you are not able to regularly access the internet, Snap! has an offline version that can be downloaded from the site https://snap.berkeley.edu/offline
•You are encouraged to try coding these examples yourself.
Why SnapApps/Edgy?
•SnapApps/Edgy is an app built on the basic Snap! Framework.
•SnapApps/Edgy code can be easily coded from structured pseudocode.
•SnapApps/Edgy language components are selected from each of the category panel at the top left of the user interface. The components represent actions that can be done and have particular shapes that fit together.
SnapApps/Edgy is a hybrid of the Snap! coding environment, it is modified to handle weighted graphs