Video description
Learn functional programming in Scala by implementing various graph algorithms
About This Video
- Discuss the disadvantages of the imperative approach and compare them with implement the algorithms in a functional manner
- Reinforce your knowledge using assessments and quizzes
- Verify the concepts learned through an end-of-the-course practical project
In Detail
Scala's functional programming features are a boon to help you design “easy to reason about” systems to control growing software complexities.In this course we practise many functional techniques by solving various graph problems. We start by looking at how we can represent graph structures in an efficient functional manner. Then we explore both the breadth and depth first search graph traversal techniques. Later we use this techniques to show how they can be used for topological sorting and cycle detection. In this course we also describe more complex algorithms such as finding the shortest path and maximal flow networks. All of these solutions are illustrated with easy to understand diagrams and animations. Special care is taken when writing solution so that the principles of functional programming are followed.
By the end of the course, you will be well-versed in all the functional concepts of Scala and you will have refreshed your knowledge of graph algorithms.
The code and supporting files for the course are available at https://github.com/PacktPublishing/Implementing-Graph-Algorithms-using-Scala
Publisher resources
Table of contents
-
Chapter 1 : Graph Structures
- The Course Overview 00:04:09
- Representing Graphs 00:09:50
- Functional Graphs 00:12:11
- Developing Functional Graphs 00:19:43
-
Chapter 2 : Traversing Graphs
- Depth First Search 00:06:48
- Depth First Search Implementation 00:10:59
- Breadth First Search 00:04:26
- Breadth First Search Implementation 00:05:29
-
Chapter 3 : Topological Sorting
- Practical Applications 00:04:16
- Kahn’s Algorithm 00:07:45
- Kahn’s Implementation 00:03:11
- DFS for Topological Sorting 00:04:48
- DFS for Sorting Implementation 00:05:27
-
Chapter 4 : Cycle Detection in Graphs
- Practical Applications 00:06:56
- DFS Cycle Detection Algorithm 00:05:29
- DFS Cycle Implementation 00:12:23
- Floyd’s Algorithm 00:06:22
- Floyd’s Implementation 00:06:59
-
Chapter 5 : Shortest Path
- Problem Explanation 00:06:15
- Dijkstra’s Algorithm 00:12:37
- Dijkstra’s Implementation 00:12:49
-
Chapter 6 : Maximum Flow
- Problem Explanation 00:07:30
- Solving Max Flow 00:10:57
- Matrix Representation in Scala 00:12:26
- Find Path Implementation 00:09:42
- Max Flow Implementation 00:06:22
Product information
- Title: Implementing Graph Algorithms Using Scala
- Author(s):
- Release date: July 2018
- Publisher(s): Packt Publishing
- ISBN: 9781788472364
You might also like
video
Learn By Example: Scala
65 examples that will bring Scala to life for you About This Video The Big Ideas: …
video
Sorting and Searching Algorithms in Scala
Learn functional programming in Scala by implementing sorting and searching algorithms About This Video Learn functional …
video
Python Fundamentals
51+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …
video
Learning Data Structures and Algorithms
In this Learning Data Structures and Algorithms video training course, Rod Stephens will teach you how …