### Advanced Data Structures & Algorithms in Java: Working with Graph Algorithms

Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level

Overview/Description

To effectively work with graphs in your daily software engineering operations, you need to expand your knowledge beyond a basic familiarity. To do this, you need to identify which algorithms are used for which tasks and how to implement these algorithms using the Java programming language.

In this course, you'll identify how graph nodes can be sorted using the topological sort algorithm, which has many real-life applications, such as course scheduling, as well as modeling tasks and dependencies. Next, you'll explore shortest path algorithms, which are used in mapping applications.

You'll move on to identify and implement the shortest path in an unweighted graph. Finally, you'll implement Dijkstra's algorithm to find the shortest path in a weighted graph.

Expected Duration (hours)
1.5

Lesson Objectives

Advanced Data Structures & Algorithms in Java: Working with Graph Algorithms

• discover the key concepts covered in this course
• explain what is meant by the topological sorting of graph nodes
• describe the topological sorting algorithm
• write code to implement topological sort
• design a graph representation of courses and perform topological sort
• explain the shortest path algorithm for unweighted graphs
• populate the distance table and perform backtracking
• write code to implement the shortest path algorithm
• contrast the algorithms for shortest path in unweighted and weighted graphs
• identify when the shortest path to a node needs to be updated
• describe Dijkstra's algorithm for the shortest path in a weighted graph
• write code to implement Dijkstra's algorithm
• summarize the key concepts covered in this course
• Course Number: