Data Structures and Algorithms in JavaScript

by
Format: Paperback
Pub. Date: 2025-01-28
Publisher(s): No Starch Press
  • Free Shipping Icon

    Free Shipping On All Orders!*

    Free economy shipping applies to all orders shipped to residential addresses. Orders shipped to campus receive free standard shipping. Free shipping offers do not apply to Marketplace items.

List Price: $59.99

Buy New

Usually Ships in 2-3 Business Days
$59.39

Rent Book

Select for Price
There was a problem. Please try again later.

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

Summary

In addition to teaching developers how to solve complex problems, Data Structures and Algorithms in JavaScript is strong preparation for coding interviews and programming competitions.

For JavaScript developers, this book is the best way to learn how data structures and algorithms can be used to solve complex problems—and immediately implement them.



For Javascript developers, this book is a one-stop-shop for learning the algorithms and data structures that solve and optimize complex problems. Covering everything from functional programming and abstract data types, to sorting and searching, lists, bags, binary trees, forests, heaps, and graphs—the author uses examples taken from coding challenges and interview questions, enabling readers to explore the real-world advantages of specific algorithms and data structures. 

Written and illustrated to be a developer’s go-to reference manual as well as for immediate on-the-job applications, performance—both from a theoretical point of view and a practical standpoint—is considered alongside every algorithm or data structure introduced. In addition to demonstrating best practices throughout the text, each chapter ends with a series of questions that amplify the preceding concepts and provide further examples for the reader to apply. Also of note, the book utilizes the latest version of JavaScript (ECMAScript) and its more modern features wherever appropriate.

Author Biography

Federico Kereki is a Computer Systems Engineer with an M.Sc. in Education. He has over 30 years’ experience as consultant, system developer, university professor, and writer. Currently, he is a subject matter expert at Globant, where he gets to use a mixture of development frameworks, programming tools, and operating systems, such as JavaScript; Node.js; React, Vue, Svelte, Angular, Docker and containers, and SOA. Has given talks on several programming topics, such as functional programming, agile methodologies, and data structures. He has taught several courses at the Universidad de la República, Universidad ORT, and Universidad de la Empresa, and he lives in Montevideo, Uruguay.

Table of Contents

Preface
Introduction

PART I: THE BASICS
Chapter 1:The JavaScript Language and Development tools
Chapter 2: Functional Programming in JavaScript
Chapter 3: Abstract Data Types
Chapter 4:Analyzing Algorithms

PART II: ALGORITHMS
Chapter 5: Designing Algorithms
Chapter 6: Sorting
Chapter 7: Selecting
Chapter 8: Shuffling and Sampling
Chapter 9: Searching

PART III: DATA STRUCTURES
Chapter 10: Lists
Chapter 11: Bags, sets, and maps
Chapter 12: Binary Trees
Chapter 13: Trees and Forests
Chapter 14: Heaps
Chapter 15: Extended Heaps
Chapter 16: Digital Search Trees
Chapter 17: Graphs
Chapter 18: Immutability and Functional Data Structures

Answer Key

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.