Learning Functional Data Structures and Algorithms
Language: English
Published by Packt Publishing, 2017
- Softcover
- New



Condition: New
US$ 73.50
Quantity: 5 available
Add to basketItem description from seller
Learning Functional Data Structures and Algorithms | Atul S. Khot (u. a.) | Taschenbuch | Kartoniert / Broschiert | Englisch | 2017 | Packt Publishing | EAN 9781785888731 | Verantwortliche Person für die EU: Libri GmbH, Europaallee 1, 36244 Bad Hersfeld, gpsr[at]libri[dot]de | Anbieter: preigu Print on Demand.
Seller Inventory # 108554593
- Title
- Learning Functional Data Structures and Algorithms
- Author
- Atul S. Khot (u. a.)
- Publisher
- Packt Publishing
- Publication year
- 2017
- Condition
- Neu
- Binding
- Taschenbuch
- Language
- English
- ISBN 10
- 1785888730
- ISBN 13
- 9781785888731
- Item weight
- 597 grams
- Dimensions
- 235 x 191 x 17 mm
- Seller catalogs
- Bücher
Learn functional data structures and algorithms for your applications and bring their benefits to your work now
About This Book
- Moving from object-oriented programming to functional programming? This book will help you get started with functional programming.
- Easy-to-understand explanations of practical topics will help you get started with functional data structures.
- Illustrative diagrams to explain the algorithms in detail.
- Get hands-on practice of Scala to get the most out of functional programming.
Who This Book Is For
This book is for those who have some experience in functional programming languages. The data structures in this book are primarily written in Scala, however implementing the algorithms in other functional languages should be straight forward.
What You Will Learn
- Learn to think in the functional paradigm
- Understand common data structures and the associated algorithms, as well as the context in which they are commonly used
- Take a look at the runtime and space complexities with the O notation
- See how ADTs are implemented in a functional setting
- Explore the basic theme of immutability and persistent data structures
- Find out how the internal algorithms are redesigned to exploit structural sharing, so that the persistent data structures perform well, avoiding needless copying.
- Get to know functional features like lazy evaluation and recursion used to implement efficient algorithms
- Gain Scala best practices and idioms
In Detail
Functional data structures have the power to improve the codebase of an application and improve efficiency. With the advent of functional programming and with 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. Immutability is a cornerstone of functional programming. Immutable and persistent data structures are thread safe by definition and hence very appealing for writing robust concurrent programs.
How do we express traditional algorithms in functional setting? Won't we end up copying too much? Do we trade performance for versioned data structures?
This book attempts to answer these questions by looking at functional implementations of traditional algorithms.
It begins with a refresher and consolidation of what functional programming is all about. Next, you'll get to know about Lists, the work horse data type for most functional languages. We show what structural sharing means and how it helps to make immutable data structures efficient and practical.
Scala is the primary implementation languages for most of the examples. At times, we also present Clojure snippets to illustrate the underlying fundamental theme. While writing code, we use ADTs (abstract data types). Stacks, Queues, Trees and Graphs are all familiar ADTs. You will see how these ADTs are implemented in a functional setting. We look at implementation techniques like amortization and lazy evaluation to ensure efficiency.
By the end of the book, you will be able to write efficient functional data structures and algorithms for your applications.
Style and approach
Step-by-step topics will help you get started with functional programming. Learn by doing with hands-on code snippets that give you practical experience of the subject.
"Synopsis" may belong to another edition of this title.
About the Author
Atul S. Khot grew up in Marathwada, a region of the state of Maharashtra, India. 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 increasingly getting hooked on Scala, Clojure, and Erlang. Atul is a frequent speaker at software conferences, and a past Dr. Dobb's product award judge. In his spare time, he loves to read classic British detective fiction. He is a foodie at heart and a pretty good cook. Atul someday dreams of working as a master chef, serving people with lip-smacking dishes.
He was the author of Scala Functional Programming Patterns published by Packt Publishing in December 2015. The book looks at traditional object-oriented design patterns and shows how we could use Scala's functional features instead.
Raju Kumar Mishra is a consultant and corporate trainer for big data and programming. After completing his B.Tech from Indian Institute of Technology (ISM) Dhanbad, he worked for Tata Steel. His deep passion for mathematics, data science, and programming took him to Indian 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. Apart from this, he has also cleared Financial Risk Manager (FRM I) exam. His interest in mathematics helped him in clearing the CT3 (Actuarial Science) exam.
"About the title" may belong to another edition of this title.
Shipping rates from Germany to U.S.A.
| Item | 60 to 60 business days | 60 to 60 business days |
|---|---|---|
| First item | US$ 78.42 | US$ 78.42 |
Payment methods
- Paypal
Store description
preigu betreibt einen Onlineversandhandel mit über 1 Mio. Produkten in verschiedenen Sortimenten. Das Kernsortiment besteht aus Büchern, Medien und Spielwaren. Ein gelungenes Einkaufserlebnis ist das Ziel einer jeden Bestellung bei preigu, denn der Kunde und seine Zufriedenheit stehen an erster Stelle. preigu setzt daher auf einen kompetenten Kundenservice, funktionierende Prozesse und schnelle Reaktion.
Specialty
Bücher, SpielwarenSeller's business information
preigu GmbH & Co. KG
Lengericher Landstraße 19
Osnabrück, Germany 49078
Terms of sale
Standard Business Terms and customer information
I. Standard business terms
§ 1 Basic provisions
(1) The following terms and conditions of business apply for all contracts concluded with us as the supplier (preigu GmbH & Co. KG) via the websites AbeBooks and/or ZVAB. Unless otherwise agreed, the inclusion of your own terms and conditions is explicitly rejected.
(2) A ‘consumer' in the sense of the following regulations is every natural person who concludes a legal transaction which, to an overwhelming extent, cannot be attributed to either his commercial or independent professional activities. The term ‘businessman' refers to every natural person, legal person or legally responsible partnership that concludes a legal transaction in pursuance of his/its independent professional or commercial activity.
§ 2 Conclusion of the contract
(1) The subject-matter of the contract is the selling of products .
(2) If an article is placed by us with AbeBooks or ZVAB, the activation of the page on AbeBooks or ZVAB shall involve the binding offer to conclude a contract under the terms and conditions contained in the article page.
(3) The contract shall become effective via the online shopping cart system as follows:
The products intended for purchase are moved to the "shopping cart". You can select the "Shopping Cart" using the appropriate buttons on the navigation bar and make changes there at any time.
After calling up the "Checkout" page and entering the required personal data and payment and shipping conditions, all order information is then displayed again on the order summary page.
Before submitting the order, you have the ability once more to review or change any information here (you may also use the "back" button on the Internet browser), or to cancel the purchase.
By clicking the "Buy now" button to submit the order, you declare your legally binding acceptance of the order which makes the contract effective.
(4) The execution of the order and the sending of all the details necessitated by the conclusion of the contract take place via e-mail, in a partially-automated manner. Consequently, you have to ensure that the e-mail address that you have deposited with us is the correct one, and that the receipt of the respective e-mails is guaranteed. In particular, you have to ensure that the respective e-mails are not blocked by a SPAM filter.
§ 3 Right of retention, reservation of proprietary rights
(1) You can only exercise a right of retention if the situation in question involves claims arising from the same contractual relationship.
(2) The goods remain our property until the purchase price is paid in full.
§ 4 Warranty
(1) The statutory warranty rights are applicable.
(2) As a consumer, you are requested to promptly check the product for completeness, visible defects and transport damage as soon as it is delivered, and promptly disclose your complaints to us and the shipping company in writing. Even if you do not comply with this request, it shall have no effect on your legal warranty claims.
(3) If a characteristic of the goods deviates from the objective requirements, the deviation shall only be deemed to be agreed if you were informed of the same by us before submitting the contractual declaration and the deviation was expressly and separately agreed between the contracting parties.
§ 5 Choice of law, place of fulfilment, jurisdiction
(1) German law shall apply. This choice of law only applies to customers if it does not result in the revocation of the protection guaranteed by the mandatory provisions of the law of the country in which the respective customer's usual place of residence is located (benefit-of-the-doubt principle).
(2) If you are not a consumer, but a businessman, a legal entity under public law or an institutional fund governed by public law, our place of business is the place of jurisdiction as well as the place of fulfilment for all services that follow from the business relationships that exist with us. The same condition applies to situations in which you are not associated with a general place of jurisdiction in Germany or the EU, as well as situations in which the place of residence or the usual place of residence is not known at the time of commencement of proceedings. This has no bearing on the capacity to call upon the court associated with another place of jurisdiction.
(3) The provisions of the UN Convention on Contracts for the International Sale of Goods are explicitly inapplicable.
II. Customer information
- Identity of the seller
preigu GmbH & Co. KG
Lengericher Landstr. 19
49078 Osnabrück
Germany
Telephone: 0541-580 72 84
E-Mail: mail@preigu.de
We are neither willing nor obliged to participate in dispute resolution proceedings before consumer arbitration boards.
- Information regarding the conclusion of the contract
The technical steps associated with the conclusion of the contract, the contract conclusion itself and the correction options are executed in accordance to the regulations "conclusion of the contract" in our standard business terms (part I.).
- Contractual language, saving the text of the contract
3.1 Contract language shall be English.
3.2 The complete text of the contract is not saved with us. Before the order is sent, the contract data can be printed out or electronically saved using the browser's print function. After the order is received by us, the order data, the legally-mandated details related to distance selling contracts and the standard business terms are re-sent to you via e-mail.
- Main features of the product or service
The key features of the goods and/or services can be found in the respective quote.
- Prices and payment arrangements
5.1 The prices mentioned in the respective offers represent total prices, as do the shipping costs. They include all the price components, including all the incidental taxes.
5.2 The dispatch costs that are incurred are not included in the purchase price. They can be viewed by clicking the appropriate button on our website or in the respective quote, are shown separately over the course of the order transaction and must additionally be borne by you, insofar as free delivery is not confirmed.
5.3 If delivery is made to countries outside of the European Union, we may incur unreasonable additional costs, such as duties, taxes or money transfer fees (transfer or foreign exchange fees charged by the banks), which you must bear.
5.4 You must also bear the costs arising from money transfers in cases in which the delivery is made to an EU Member State, but the payment is initiated outside of the European Union.
5.5 The payment methods that are available to you are shown by clicking the appropriate button on our website or are disclosed in the respective quote.
5.6 Unless otherwise specified for the respective payment methods, the payment claims arising from the contract that has been concluded become payable immediately.
- Delivery conditions
6.1 The delivery conditions, delivery date and existing supply restrictions, if applicable, can be found by clicking the appropriate button on our website or in the respective quote.
Unless a different period is specified in the item description or our delivery conditions, the goods are delivered within 3-5 days after the conclusion of the contract (in case an advance payment has been agreed upon, after the payment authorisation).
6.2 If you are a consumer, the following is statutorily regulated: The risk of the sold item accidentally being destroyed or degraded during shipping only passes over to you when the item in question is delivered, regardless of whether or not the shipping operation is insured. This condition does not apply if you have independently commissioned a transport company that has not been specified by us or a person who has otherwise been appointed to execute the shipping operation.
- Statutory warranty right
Liability for defects is governed by the "Warranty" provisions in our General Terms and Conditions of Business (Part I).
Information on battery disposal
In connection with the sale of batteries or the delivery of devices containing batteries, we are obliged to inform you of the following:
Batteries must not be disposed of with household waste.
You can either return used batteries that we carry or have carried in our range as new batteries to us at your own expense or return them free of charge to our shipping warehouse (shipping address). Alternatively, you can hand in the batteries at your local collection points.
As an end user, you are legally obliged to return used batteries so that they can be recycled or disposed of properly.
Used batteries may contain harmful substances that can damage the environment or your health if not stored or disposed of properly. However, batteries also contain important raw materials such as iron, zinc, manganese or nickel and can be recycled.
The symbols on the batteries have the following meanings:
The symbol of the crossed-out wheelie bin means that the battery must not be disposed of with household waste.
For batteries containing a certain amount of lead, cadmium or mercury, the following additions below the symbol with the crossed-out wheelie bin indicate the respective pollutants:
Pb = Battery contains more than 0.004% lead by weight
Cd = Battery contains more than 0.002% cadmium by weight
Hg = Battery contains more than 0.0005% mercury by weight
Information on the costs involved in accordance with Article 56 (4) of the EU Battery Regulation (Regulation 2023/1542) can be found at the ‘Batterie-Zurück (https://www.batterie-zurueck.de/de/bewirtschaftungvonaltbatterien/)' initiative.
Please pay attention to the above instructions.