Tags
Language
Tags
May 2025
Su Mo Tu We Th Fr Sa
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Learning Path:Learning Functional Data Structure & Algorithm

    Posted By: ELK1nG
    Learning Path:Learning Functional Data Structure & Algorithm

    Learning Path:Learning Functional Data Structure & Algorithm
    Last updated 9/2017
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 636.12 MB | Duration: 5h 28m

    Unlock complex data structures and algorithms and get the most out of functional programming

    What you'll 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

    Requirements

    Working knowledge of functional language especially Scala is required.

    Description

    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.

    Overview

    Section 1: Functional Data Structures and Algorithms

    Lecture 1 The Course Overview

    Lecture 2 The Imperative Way and a Higher Level of Abstraction

    Lecture 3 Functional Programming and Boilerplate

    Lecture 4 Higher Order Functions

    Lecture 5 Recursion Aids Immutability

    Lecture 6 Copy-On-Write, Laziness, and Deferred Execution

    Lecture 7 Composing Functions

    Lecture 8 The Big O Notation

    Lecture 9 Space/Time Trade-Off

    Lecture 10 Referential Transparency

    Lecture 11 Vectors Versus Lists

    Lecture 12 Complexities and Collections

    Lecture 13 First Steps

    Lecture 14 List Head and Tail

    Lecture 15 Drop Elements

    Lecture 16 Concatenating Lists

    Lecture 17 Persistent Data Structures and Tail Call Optimization

    Lecture 18 List Append and Prepend

    Lecture 19 Getting the Value at Index

    Lecture 20 Modifying a List Value

    Lecture 21 Node Definitions

    Lecture 22 Building the Tree

    Lecture 23 Comparing Trees

    Lecture 24 The Accumulator Idiom

    Lecture 25 Binary Search Trees

    Lecture 26 Binary Numbers

    Lecture 27 Greedy Algorithms and Backtracking

    Section 2: Advanced Functional Data Structures and Algorithms

    Lecture 28 The Course overview

    Lecture 29 Reversing a List

    Lecture 30 Exploring More About Graph Algorithms

    Lecture 31 Cycle Detection

    Lecture 32 Incrementing a Binary Number

    Lecture 33 List of Tree Roots

    Lecture 34 FIFO Queues

    Lecture 35 Invariants

    Lecture 36 Priority Queue

    Lecture 37 Leftist Trees

    Lecture 38 Functional Heaps

    Lecture 39 Program Evaluation

    Lecture 40 Argument Evaluation

    Lecture 41 Memoization – Remembering Past Results

    Lecture 42 Streams

    Lecture 43 Some Algorithms on Stream

    Lecture 44 Imperative Implementations and Amortization

    Lecture 45 Strict Versus Lazy

    Lecture 46 Streams

    Lecture 47 Amortized Deques

    Lecture 48 Concept of Red-Black Trees

    Lecture 49 Working with Red-Black Trees

    Lecture 50 Verifying the Transformation

    Lecture 51 Binomial Trees

    Lecture 52 A Binomial Heap

    Lecture 53 Binary Number Equivalence

    Lecture 54 Stable and Unstable Sorting

    Lecture 55 Bubble Sort

    Lecture 56 Selection Sort

    Lecture 57 Insertion Sort

    Lecture 58 Merge Sort

    Lecture 59 Quick Sort

    This Learning Path is for developers who have some experience in functional programming language,especially Scala.