CodeType

CodeType Curriculum

Practice the full algorithm curriculum.

Browse by difficulty, search by name, and jump into code in any of the six supported languages.

51 algorithms
Curriculum Coverage

Coverage

51 topics

Easy to expert, all searchable.

Filters

Difficulty + category

Languages

TS, JS, Java, C#, Python, C

Search the curriculum

hard

20 topics

Data Structures

Balanced Trees (AVL)

Keep tree height logarithmic with rotations.

Runtime: O(log n)

Start typing

Graphs

Bellman-Ford

Shortest paths with negative edges.

Runtime: O(VE)

Start typing

Computational Geometry

Convex Hull (Graham Scan)

Compute hull of points in O(n log n).

Runtime: O(n log n)

Start typing

Graphs

Dijkstra's Algorithm

Shortest paths with non-negative weights.

Runtime: O((V + E) log V)

Start typing

Network Flow

Dinic's Algorithm

Level graph + blocking flows for max flow.

Runtime: O(E sqrt V)

Start typing

Advanced Data Structures

Disjoint Set Union (Union-Find)

Union and find with path compression.

Runtime: O(alpha(n))

Start typing

Network Flow

Edmonds-Karp

BFS-based Ford-Fulkerson.

Runtime: O(VE^2)

Start typing

Advanced Data Structures

Fenwick Tree (BIT)

Prefix sums with log-time updates.

Runtime: O(log n)

Start typing

Graphs

Floyd-Warshall

All-pairs shortest paths.

Runtime: O(V^3)

Start typing

Network Flow

Ford-Fulkerson

Max flow using augmenting paths.

Runtime: O(E * maxflow)

Start typing

Greedy

Huffman Coding

Build optimal prefix codes for compression.

Runtime: O(n log n)

Start typing

Strings

Knuth-Morris-Pratt (KMP)

Pattern matching with prefix table.

Runtime: O(n + m)

Start typing

Dynamic Programming

Knapsack (0/1)

Max value under a weight capacity.

Runtime: O(nW)

Start typing

Graphs

Kruskal's Algorithm

Minimum spanning tree using sorted edges.

Runtime: O(E log E)

Start typing

Dynamic Programming

Longest Common Subsequence (LCS)

Find the longest subsequence common to two strings.

Runtime: O(nm)

Start typing

Computational Geometry

Line Sweep

Process events in sorted order.

Runtime: O(n log n)

Start typing

Graphs

Prim's Algorithm

Minimum spanning tree from a start node.

Runtime: O(E log V)

Start typing

Strings

Rabin-Karp

Hash-based string matching.

Runtime: O(n + m) avg

Start typing

Advanced Data Structures

Segment Tree

Range query and update in log time.

Runtime: O(log n)

Start typing

Advanced Data Structures

Suffix Array

Sorted suffix indices for fast string queries.

Runtime: O(n log n)

Start typing

expert

15 topics