Disclosure: when you buy through links on our site, we may earn an affiliate commission.

Learning Path:Learning Functional Data Structure & Algorithm

Unlock complex data structures and algorithms and get the most out of functional programming
(2 reviews)
48 students
Created by


CourseMarks Score®







Platform: Udemy
Video: 5h 28m
Language: English
Next start: On Demand

Table of contents


Data structures and algorithms are the fundamentals of computer programming. Functional data structures have the power to improve the code base of an application and improve efficiency. With the advent of functional programming and powerful functional languages such as Scala, Clojure, and Elixir becoming part of important enterprise applications, functional data structures have gained an important place in the developer toolkit.
So if you’ve got some prior knowledge on functional languages and wish to get acquainted with data structures and algorithms with simple functional implementation, then go for this Learning Path.

Packt’s Video Learning Path is a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

Let’s take a quick look at your learning journey. This Learning Path begins with an introduction to functional programming. You will learn about Lists, the work horse data type for most functional languages. You will then understand structural sharing and how it helps to make immutable data structures efficient and practical. Next, you will learn about binary trees wherein you will build complete trees, greedy algorithms, and backtracking. Moving ahead, you will seehow to use abstract data types (ADTs) such as stacks, queues, trees, and graphs and will learn to implement them in functional programming. Finally, you will learn implementation techniques such as amortization and lazy evaluation to ensure code efficiency.

By the end of this Learning Path, you will be able to write efficient functional data structures and algorithms for your applications.

About the Author:
For this course, we have combined the best works of this esteemed author:

•Atul S. Khot is a self-taught programmer. He started writing software in C and C++. A Linux aficionado and a command-line guy at heart, Atul has always been a polyglot programmer. Having extensively programmed in Java and dabbled in multiple languages, these days he is getting increasingly hooked on Scala, Clojure, and Erlang. Atul is a frequent speaker at software conferences, and a past Dr. Dobb’s product award judge.•Raju Kumar Mishra is a consultant and corporate trainer for big data and programming. After completing his B.Tech from the Indian Institute of Technology Dhanbad, he worked for Tata Steel. His deep passion for mathematics, data science, and programming took him to the Institute of Science (IISc). After graduating from IISc in computational science, he worked for Oracle as a performance engineer and software developer. He is an Oracle-certified associate for Java 7. He is a Hortonworks-certified Apache Hadoop Java developer, and holds a developer certification for Apache Spark (O’Reilly School of Technology and Databriks), and revolution R enterprise-certified specialist certifications.

You will learn

✓ Learn about the O notation
✓ Get familiar with runtime and space complexities
✓ Learn to drop, concatenate, append, and prepend lists
✓ Understand what backtracking algorithm is
✓ Learn to build cost-efficient applications
✓ Learn how ADTs are implemented in a functional setting
✓ Understand functional features such as lazy evaluation and recursion
✓ Get to know Scala’s best practices and idioms


• Working knowledge of functional language especially Scala is required.

This course is for

• This Learning Path is for developers who have some experience in functional programming language,especially Scala.
Tech Knowledge in Motion
Browse all courses by on Coursemarks.
Platform: Udemy
Video: 5h 28m
Language: English
Next start: On Demand

Students are also interested in