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