Udemy

Implementing Graph Algorithms Using Scala

Enroll Now
  • 232 Students
  • Updated 8/2018
  • Certificate Available
4.1
(34 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
3 Hour(s) 35 Minute(s)
Language
English
Taught by
Packt Publishing
Certificate
  • Available
  • *The delivery and distribution of the certificate are subject to the policies and arrangements of the course provider.
Rating
4.1
(34 Ratings)

Course Overview

Implementing Graph Algorithms Using Scala

Learn functional programming in Scala by implementing various graph algorithms.

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.

About the author

James Cutajar is a software developer with interests in scalable, high-performance computing and distributed algorithms. He is also an open source contributor, author, blogger, and tech evangelist. When he is not writing software, he is riding his motorbike, surfing, or flying light aircraft. He was born in Malta, lived for almost a decade in London, and is now working in Portugal.

Course Content

  • 6 section(s)
  • 26 lecture(s)
  • Section 1 Graph Structures
  • Section 2 Traversing Graphs
  • Section 3 Topological Sorting
  • Section 4 Cycle Detection in Graphs
  • Section 5 Shortest Path
  • Section 6 Maximum Flow

What You’ll Learn

  • Understand adjacency list and matrix representation
  • Learn BFS vs DFS graph traversal and the implemented in a functional manner
  • Implement a topological sort algorithm
  • Discover how to implement a cycle detection in graphs.
  • Understand and develop the existing Dijkstra's shortest path algorithm
  • Understand what is max flow in a flow network and implement the Ford-Fulkerson method and the Edmonds-Karp algorithm


Reviews

  • M
    Mas Nakachi
    3.5

    It was ok - the presenter definitely knows his material but at times he went too fast and the use of worksheets was not ideal as those have issues with certain Scala versions - overall made me want to learn more about graph algorithms and functional Scala so in that sense was good.

  • I
    Ian James Pilgrim
    4.0

    I enjoyed the course. It revealed often mentioned manipulation of DAG components that are themselves useful utilities often used to solve problems. These were implemented in Scala revealing elements of more advanced use of the language.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed