Book Image

Implementing Graph Algorithms Using Scala

By : James Cutajar
Book Image

Implementing Graph Algorithms Using Scala

By: James Cutajar

Overview of this book

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
Table of Contents (6 chapters)
Chapter 1
Graph Structures
Content Locked
Section 3
Functional Graphs
In this video, clip we discuss what the principles of what makes programming functional are. We see how these principles can be applied to represent graphs. - Find out about the three main functional principles - Understand the benefits of functional programming - Adopt certain data structures to enable us to follow these principles