Udemy

Sorting and Searching Algorithms in Scala

Enroll Now
  • 160 Students
  • Updated 7/2018
  • Certificate Available
4.1
(17 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
5 Hour(s) 16 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
(17 Ratings)

Course Overview

Sorting and Searching Algorithms in Scala

Learn functional programming in Scala by implementing sorting and searching algorithms.

Scala's functional programming features are a boon when it comes to designing easy-to-reason-about systems to curb growing software complexities. In this course, we will learn about many concepts and tools available in the Scala language by implementing, in a functional manner, some sorting and searching algorithms.

Most algorithms are traditionally defined in an imperative manner, typically consisting of repetitions in the form of conditional looping and altering states. Writing these in a functional manner is not always a trivial process. In this course, we will do just that. We will also show how to implement search data structures in a functional and immutable manner. We will look at number sorting, substring searches, hash tables, red black binary trees, and the closest pair algorithm. Along the way, we will talk about bubble sort, merge sort, Knuth-Morris-Pratt string searching, structural sharing in functional data structures, and various problems with immutable data structures. Further, we will explore the classic closest pair algorithm and show how we can solve the problem efficiently in a functional manner.

By the end of the course, you will have gained a thorough knowledge of many functional Scala concepts and will understand these algorithms and data structures.

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 rides his motorbike, surfs, or flies light aircraft. He was born in Malta, lived for almost a decade in London, and is now working in Portugal.

Course Content

  • 5 section(s)
  • 34 lecture(s)
  • Section 1 Number Sorting
  • Section 2 Substring Searching
  • Section 3 Hash Tables
  • Section 4 Binary Trees
  • Section 5 Closest Pair

What You’ll Learn

  • Understand and implement bubble sort and a functional merge sort
  • Explore naive string searching and the more advanced KMP algorithm.
  • Implement a purely functional hash table
  • Learn about structural searching
  • Master unbalanced binary and red-black trees and implement both in a functional manner
  • Understand depth and breadth-first search traversal
  • Implement an efficient solution for the closest pair problem.


Reviews

  • O
    Oleg Chaichuk
    4.0

    I've learnt some ideas new to me. The course could benefit from having some assignments so students could have some practice. I think I was able to get the idea for some of the more complicated topics like KMP or Red Black Tree rotations but not sure I could reproduce the solutions, alas.

  • W
    Wei Ning
    5.0

    I really like James' problem-based teaching style.

  • D
    Douglas Lewit
    5.0

    I like it so far! Thank you.

  • K
    Krishna Rao
    5.0

    Its nice to recap algorithms and learn to apply functional programming techniques.

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