Sorting and Searching Algorithms in Scala
Sorting and Searching Algorithms in Scala, available at $44.99, has an average rating of 4.3, with 34 lectures, based on 17 reviews, and has 157 subscribers.
You will learn about 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. This course is ideal for individuals who are This course is aimed at intermediate Scala developers who want to learn in depth about functional programming concepts in Scala. This course will help intermediate developers understand some of the more complex Scala tools by practising with searching and sorting algorithms and their functional implementations. It is particularly useful for This course is aimed at intermediate Scala developers who want to learn in depth about functional programming concepts in Scala. This course will help intermediate developers understand some of the more complex Scala tools by practising with searching and sorting algorithms and their functional implementations.
Enroll now: Sorting and Searching Algorithms in Scala
Summary
Title: Sorting and Searching Algorithms in Scala
Price: $44.99
Average Rating: 4.3
Number of Lectures: 34
Number of Published Lectures: 34
Number of Curriculum Items: 34
Number of Published Curriculum Objects: 34
Original Price: $199.99
Quality Status: approved
Status: Live
What You Will 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.
Who Should Attend
- This course is aimed at intermediate Scala developers who want to learn in depth about functional programming concepts in Scala. This course will help intermediate developers understand some of the more complex Scala tools by practising with searching and sorting algorithms and their functional implementations.
Target Audiences
- This course is aimed at intermediate Scala developers who want to learn in depth about functional programming concepts in Scala. This course will help intermediate developers understand some of the more complex Scala tools by practising with searching and sorting algorithms and their functional implementations.
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 Curriculum
Chapter 1: Number Sorting
Lecture 1: The Course Overview
Lecture 2: Can Sorting Be Functional
Lecture 3: Bubble Sort
Lecture 4: Bubble Sort Implementation
Lecture 5: Merge Sort
Lecture 6: Merge Sort Implementation
Chapter 2: Substring Searching
Lecture 1: What Is Substring Searching
Lecture 2: Naive Searching
Lecture 3: Naive Searching Implementation
Lecture 4: Functional Naive Searching
Lecture 5: Knuth Morris Pratt Algorithm
Lecture 6: KMP Matching in Scala
Lecture 7: KMP Prefix Table in Scala
Chapter 3: Hash Tables
Lecture 1: Introduction to Hash Tables
Lecture 2: Collisions and Hashing
Lecture 3: Hash Table API
Lecture 4: Mutable Hash Table
Lecture 5: Persistent Hash Tables
Lecture 6: KMP Matching in Scala
Chapter 4: Binary Trees
Lecture 1: Introduction to Binary Trees
Lecture 2: Immutable Binary Trees
Lecture 3: Binary Search Implementation
Lecture 4: Binary Insert Implementation
Lecture 5: Traversal on Binary Trees
Lecture 6: Traversal Implementation
Lecture 7: Red Black Tree
Lecture 8: Implementing Tree Rotations
Lecture 9: Red Black Tree Insert
Lecture 10: Implementing Red Black Tree Inserts
Chapter 5: Closest Pair
Lecture 1: Problem Introduction
Lecture 2: Algorithm for 1 Dimension
Lecture 3: Implementation for 1 Dimension
Lecture 4: Algorithm for 2 Dimensions
Lecture 5: 2-Dimensional Implementation
Instructors
-
Packt Publishing
Tech Knowledge in Motion
Rating Distribution
- 1 stars: 1 votes
- 2 stars: 1 votes
- 3 stars: 3 votes
- 4 stars: 6 votes
- 5 stars: 6 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024