Trees are a linked-node data structure with a root node and sub-trees. These algorithms allow structured tree node visits.

When given a sorted array of elements and a search key, binary search works. It's a simple concept that's simple to grasp and put into practise.

It works by starting with the 0th element and comparing the user's input element to each term before returning the element's position.

This class of algorithms only has binary search. These algorithms underpin databases, virtual spaces, substructures, and quantum computers.

These algorithms arrange data to make meaning. Merge sort and quick sort are popular in this class.

By storing previously calculated values and using them as needed, dynamic programming or memorization eliminates problems.

Quicksort uses the last element as the pivot number, placing smaller numbers on the left and larger ones on the right.

It's a sorting algorithm that relates two adjacent elements and swaps them around until they're no longer in the right order.

Hash algorithms accept any data as input and use a hash table to generate a message that is consistent regardless of the data.

Graphs, like trees, are non-linear data structures with nodes connected by edges. These work on trees, vertices-and-edges graphs, and any graph encoding.