
Explore graph theory algorithms in Java, including adjacency matrix and list representations, BFS and DFS, and coding interview problems like islands, cycle detection, and shortest path, with visual explanations.
Learn about six graph types—unweighted and weighted, directed and undirected—featuring positive and negative weights, with examples and terminology for graph data structures.
Learn to represent an unweighted undirected graph using an adjacency matrix, with zero/one entries and symmetric edges, then extend to weighted undirected graphs with weights and edge operations.
Learn how to represent directed graphs in Java using adjacency matrices for unweighted and weighted graphs, including how edges and weights are stored, and how to generate text representations.
Explore representing graphs with adjacency lists, including weighted undirected and weighted directed graphs. Implement adjacency lists with nodes containing destination, weight, and next pointer, add edges, and print the graph.
Explore graph representation using adjacency lists for unweighted undirected and directed graphs, building an array of linked lists to store vertices and edges, and printing the adjacency list.
Explore BFS and DFS algorithms for graph traversal, using a queue and visited set for BFS, and a stack for DFS, with adjacency list or matrix representations.
Master BFS on matrices by performing level-by-level traversal using a queue and a visited matrix. Learn how to apply the pattern to graph problems and implement in Java.
Learn to perform bfs traversal on a graph using an adjacency list, starting from a node, marking visited vertices, and using a queue.
Explore depth-first search on matrices with a recursive Java implementation, visiting each cell once using a boolean visited grid and a down-up-right-left traversal order.
Explore depth-first search on an adjacency list in Java, using a visited array and a DFS order list to traverse from a start node and handle disconnected graphs.
Explore the number of islands on a 2d grid of ones and zeros by performing depth-first search to connect lands horizontally or vertically and mark visited cells in place.
Welcome to the course - "Graph Theory Algorithms in Java".
This course provides a complete overview of Graph Theory algorithms.
Graph Theory is an advanced topic in Computer Science. This course will offer you the opportunity to gain a solid understanding in Graph Theory. Graphs are used to solve many real-life problems. Graphs are used to represent networks. The networks may include paths in a city or telephone network or circuit network. Graphs are also used in social networks like linkedIn, Facebook. For example, in Facebook, each person is represented with a vertex(or node). Each node is a structure and contains information like person id, name, gender, locale etc.
Why you should learn Graph Theory?
Not interested in graphs? Whether you like them or not, practical use of graph data structures and graph algorithms is all around us. They are powerful, versatile, widely spread and used by everyone, without even knowing it: Google maps uses graphs for building transportation systems, Facebooks friend suggestion uses graph theory (Facebook users are vertices and if they are friends there is an edge running between them), every modelling of social networks, Windows file explorer; you’re even using graph algorithms while reading this — the internet is a collection of hosts and routers connected by various links, for host A to find host B it must find an optimal path through all this mess. Other than the IT world, graphs have very wide usage in linguistics, chemistry, physics, biology and, of course, mathematics.
This course contains:
Graph Representation using Adjacency Matrix
Graph Representation using Adjacency List
Graph Traversal Algorithm, BFS (Breadth First Search) and DFS (Depth First Search)
Different types of Graph Algorithms
Most Common and Frequently Asked Graph Questions
Watch some preview video, if you are interested enrol this course :)
See you inside :)