Bottom-up dynamic programming using a table.

Data structure for managing disjoint sets.

Sorting algorithm using a heap data structure.

Smaller problem within a larger algorithmic problem.

Collection of non-overlapping sets.

Sorting algorithm counting occurrences of discrete values.

Property allowing optimal solutions from optimal subsolutions.

Union-find optimization shortening parent paths.

Sorting algorithm processing digits or characters by position.

Repeated occurrence of the same smaller problems.