Resources for the Advanced Level in Certification

Heaps (priority queue)

Practice Problems

Disjoint Set Union

Practice Problems

Segment Trees

Practice Problems

Problems on segment tree with lazy propogation

Binary Index Tree (Fenwick tree)

Practice problems
Please solve the problems mentioned in the above segment tree practice problems section. Note that usually, it’s difficult to do range updates in binary indexed trees. Mostly, it is used for for range query and point update. However, you can check the following article for checking how some simple specific kind of range updates can be peformed on binary indexed tree ( Note that range updates on BIT is not a part of the syllabus.

Trees (traversals)

Practice Problems

Finding Lowest Common Ancestors (O(log N) solution where N is number of nodes).

Depth First Search, Breadth First Search (Finding connected components and transitive closures).

Practice Problems

Shortest-path algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)

Practice Problems

Bellman Ford Algorithm

**Practice Problems

Minimum spanning tree (Prim and Kruskal algorithms)


Biconnectivity in undirected graphs (bridges, articulation points)

Practice Problems

Strongly connected components in directed graphs

Topological Sorting

Practice Problems

Euler path, tour/cycle.

Practice Problems

Modular arithmetic including division, inverse

Amortized Analysis

Divide and Conquer

Practice Problems

Advanced Dynamic Programming problems (excluding the dp optimizations which are added in expert level, Please go through the basic DP resources and problems mentioned in foundation level resource.)

Problems for Advanced DP

Sieve of Eratosthenes

Practice Problems