-
Nodes: 0
![Graham Scan](images/grahamscan.png)
Graham Scan finds the convex hull of a set of nodes. It is a backtracking algorithm which works by ordering nodes by their relative polar angle with the start node.
![Kruskal's Algorithm](images/kruskals.png)
Kruskal's algorithm is a greedy algorithm for finding a Minimum Spanning Tree. It sorts edges by weight then repeatedly adds the next smallest edge which doesn't create a cycle.
![Prim's Algorithm](images/prims.png)
Prim's algorithm is also a greedy algorithm for finding a Minimum Spanning Tree. It starts at a random node then repeatedly adds the edge with the smallest weight which connects an unvisited node to a visited node.
![Minimal Matching](images/matching.png)
Greedy Minimum Matching finds a minimal matching that connects all pairs of nodes with the minimum total edge weight.
![Nearest Neighbour Algorithm](images/nn.png)
Nearest Neighbour is a greedy algorithm for finding a sub-optimal hamiltonian tour of a graph by repeatedly choosing the nearest unvisited node.
![Nearest Neighbour Algorithm with 2-Opt](images/nntwoopt.png)
2-Opt performs a local search to improve a sub-optimal tour by reordering a route which crosses over itself.