Clojure Data Structures and Algorithms Cookbook 1st Edition by Rafik Naccache – Ebook PDF Instant Download/Delivery:1785281453 ,978-1785281457
Full download Clojure Data Structures and Algorithms Cookbook 1st Edition after payment
Product details:
ISBN 10: 1785281453
ISBN 13: 978-1785281457
Author: Rafik Naccache
25 recipes to deeply understand and implement advanced algorithms in Clojure
25 recipes to deeply understand and implement advanced algorithms in Clojure
About This Book
- Explore various advanced algorithms and learn how they are used to address many real-world computing challenges
- Construct elegant solutions using impressive techniques including zippers, parsing, and pattern matching
- Solve complex problems by adopting innovative approaches such as logic or asynchronous programming
Who This Book Is For
This book is for intermediate Clojure developers who can read and write in this language quite comfortably. Besides, it is assumed that you have some knowledge of how to set up Clojure projects, include dependencies, how to run REPLs, and so on through Leiningen and Figwheel. No prior awareness of any of the algorithms covered in this book is needed, and, when appropriate, pointers are given to the explanation material about any theory related to them.
What You Will Learn
- Explore alternative uses of classical data structures such as arrays and linked lists
- Explore advanced machine learning and optimization techniques
- Utilize the Clojure libraries, such as Instaparse for parsing, core.match for pattern matching, clojure.zip for zippers, and clojure.matrix for matrix operations
- Learn logic programming through the core.logic library
- Master asynchronous programming using the core.async library
- Observe transducers while resolving real-world use cases
In Detail
Clojure is a highly pragmatic language with efficient and easy data manipulation capabilities. This provides us with an opportunity to easily explore many challenging and varied algorithmic topics, while using some extremely creative methods.
In this book, we’ll discover alternative uses for classical data structures (arrays, linked lists, and trees), cover some machine learning and optimization techniques, and even delve into some innovative ways of approaching algorithmic problem solving, such as logic programming, asynchronous programming or the usage of advanced functional constructs, namely transducers or the continuation passing style.
Table of contents:
1. Revisiting Arrays
Introduction
Efficiently compressing a byte array
How to do it…
Using Pascal’s triangle to draw fractals
How to do it…
Simulating multithreading using time-sharing
How to do it…
Simulating a call stack using arrays
How to do it…
2. Alternative Linked Lists
Building a doubly linked XOR list
How to do it…
Speeding up access to linked list elements
How to do it…
Building a simple shift-reduce parser
How to do it…
Implementing a skew binary random access list
How to do it…
3. Walking Down Forests of Data
Introduction
Building self-balancing, search-efficient splay trees
How to do it…
Designing an efficient key-value store using B-trees
How to do it…
How it works…
Devising an undo-capable data structure using a rope
How to do it…
Designing an autocomplete system using a trie
How to do it…
4. Making Decisions with the Help of Science
Introduction
Designing a live recommendation engine
How to do it…
Resolving cost and profit optimization problems
How to do it…
Finding optimal paths in a graph
How to do it…
Summarizing texts by extracting the most representative sentences
How to do it…
5. Programming with Logic
Introduction
Querying a social website’s data
How to do it…
Designing a type inferencer
How to do it…
Playing a round of checkers
How to do it…
6. Sharing by Communicating
Introduction
Building a tiny web crawler
How to do it…
Designing an HTML5 game
How to do it…
Designing an online taxi-booking engine
How to do it…
7. Transformations as First-class Citizens
Introduction
Building a recursive descent parser using trampoline
How to do it…
Implementing a reusable mini-firewall using transducers
How to do it…
Building a little unification engine with the continuation-passing style
How to do it…
People also search for:
clojure data structures and algorithms cookbook
clojure cookbook
clojure data cookbook
clojure programming cookbook