Can Anyone help me with what sequence or order should I follow to prepare ccdsap advance level

I’m new to tree and graph, I known theory part but never used non linear structure in coding.
So, I need help how should I proceed with these topic… like graph first or tree.

This is Syllabus

  • Heaps (priority queue)
  • Disjoint Set Union
  • Segment Trees
  • Binary Index Tree (Fenwick tree)
  • Trees (traversals, tree dynamic programming)
  • Finding Lowest Common Ancestors (O(log N) solution where N is number of nodes).
  • Graph Algorithms:
    • Finding connected components and transitive closures.
    • Shortest-path algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)
    • Minimum spanning tree (Prim and Kruskal algorithms)
    • Biconnectivity in undirected graphs (bridges, articulation points)
    • Strongly connected components in directed graphs
    • Topological Sorting
    • Euler path, tour/cycle.
  • Modular arithmetic including division, inverse
  • Amortized Analysis
  • Divide and Conquer
  • Advanced Dynamic Programming problems (excluding the dp optimizations which are added in expert level)
  • Sieve of Eratosthenes

My advice will be the links provided by codechef itself and also some DAA books like " The algorithm design manual by Steven S Skiena" particularly this book really helping me to prepare for the foundation CCDSAP.
thank you.

2 Likes