1. Basic Concept
Introduce foundamental knowledge of algorithms

2. Sorting Searching and Selection
Searching algorithm uses for indicate the position of specified item in a list. Sorting algorithm uses for arrange items of a list in an order

3. Divide-and-Conquer & Recursion
Work by recursively breaking down into smaller problems of the related type, recursively do so until the problems become simple enough to solve.
4. Greedy algorithms
Greedy algorithms are mainly used for solving combinatorial optimization problems.

5. Dynamic programming
Algorithm for solving problems by breaking down into similar subproblems
6. Data Structures
Method of storing data so that it is efficiency in insert, delete, access, etc.
  • Longest increasing subsequence
  • Longest common subsequence
  • Palindrome
  • Matrix-chain multiplication
  • ...More
  • Array
  • Linked list
  • Heap
  • Hashes
  • ...More
7. Graph

8. Geometry Algorithm
Programming method for solving Geometry problems, such as symmetry, intersection, rotation, resize, etc.

9. Linear Programming
  • 2D geometry
  • 3D geometry
  • Closest pair of points
  • Convex hull
  • ...More
  • Big integer
  • String searching
  • Range minimum query
  • ...More

Arithmetic Order BigInteger
Graph Geometry Others
  • Two-dimensions geometry
  • Three-dimensions geometry
  • Longest increasing subsequence
  • Longest common subsequence
  • Knapsack problem
  • Huffman code

1. About us
2. References
3. Contact us

© The University of Hong Kong Algorithms Library -