Introduction to Graph
Graph terminology: vertices, edges, degree, paths, cycles.
Types of graphs: directed, undirected, weighted, unweighted.
Graph Representations
Adjacency matrix.
Adjacency list.
Comparison of representations.
Graph Traversals
Breadth-First Search (BFS)
Algorithm and applications.
Depth-First Search (DFS)
Algorithm and applications.
Shortest Path Algorithms
Dijkstra's Algorithm
Greedy approach.
Implementation details.
Bellman-Ford Algorithm
Handling negative weights.
Comparison with Dijkstra's.
Other Graph Algorithms
Topological Sort
Use in scheduling problems.
Minimum Spanning Trees
Kruskal's Algorithm.
Prim's Algorithm.
Advanced Topics (if time allows)
A* Algorithm
Heuristic search.
Strongly Connected Components
Applications of Graph Algorithms
Network routing, social networks, dependency resolution.
Complexity Analysis of Graph Algorithms
Time and space complexity.