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