The gift wrapping algorithm is an algorithm for computing the convex hull of a set of points, the smallest area containing all points that has no “inward-pointing dents”. You get a similar result when putting a rubber band around some nails in the wall!
Quicksort is an efficient sorting algorithm based on a “divide and conquer” approach. Choosing the dividing element at random is a good strategy to avoid bad worst-case runtime.
Bogo sort, also known as stupid sort, is a simple, but highly inefficient sorting algorithm, which simply shuffles the elements until they are sorted.
Public-key cryptography can be used for (at least) two purposes: A person’s public key can be used to send encrypted messages to the keys’ owner. And that person can use their private key to create digital signatures, demonstrating the authenticity of a message.
Binary search is a fast algorithm for finding the position of a value within a sorted array. It reflects the way people intuitively “guess numbers” by repeatedly asking “Is your number bigger or smaller than x?”
Merge sort is a recursive sorting algorithm based on a “divide and conquer” approach.
An AVL tree is a datastructure which guarantees fast search, insertion, and deletion of items. It’s a self-balancing variant of the binary search tree.
The graph scan algorithm traverses all reachable nodes in a graph. Its behaviour can be changed by plugging in different datastructures: Using an unordered set results in a random search, using a stack yields depth-first search, and using a queue gives breadth-first search.
This page describes Fleury’s algorithm, an elegant method to find an Eulerian path in a graph – a path which visits every edge exactly once.