Sorting and Searching Algorithms in Scala

所在平台: Udemy

课程主页: https://www.udemy.com/course/sorting-and-searching-algorithms-in-scala/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:Scala中的排序与搜索算法 课程概述:Scala的函数式编程特性在设计易于理解的系统方面为应对日益增长的软件复杂性提供了帮助。在本课程中,我们将通过以函数式的方式实现一些排序和搜索算法,学习Scala语言中的许多概念和工具。大多数算法传统上是以命令式方式定义的,通常包括条件循环和状态转变的重复过程。而以函数式方式编写这些算法并不总是简单的过程。本课程正是为了解决这一挑战。我们还将展示如何以函数式和不可变的方式实现搜索数据结构。 课程内容包括数字排序、子字符串搜索、哈希表、红黑二叉树和最近点对算法。我们将讨论气泡排序、归并排序、Knuth-Morris-Pratt字符串搜索、函数数据结构中的结构共享及不可变数据结构的各种问题。此外,我们还将探索经典的最近点对算法,展示如何以函数式的方式高效地解决该问题。 通过本课程的学习,您将全面掌握许多函数式Scala概念,并理解这些算法和数据结构。 关于作者:James Cutajar是一位软件开发人员,专注于可扩展的高性能计算和分布式算法。他还是一位开源贡献者、作者、博主和技术倡导者。在撰写代码之余,他喜欢骑摩托车、冲浪或驾驶轻型飞机。James出生于马耳他,在伦敦生活近十年,现在在葡萄牙工作。

课程评论(0条)

课程详情

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.

课程标签

0人关注该课程

主题相关的课程