Data Structures and Algorithms in JavaScript

by Federico Kereki

Algorithm Data Structures

Book Details

Book Title

Data Structures and Algorithms in JavaScript

Author

Federico Kereki

Publisher

No Starch Press City: San Francisco, CA

Publication Date

2025

ISBN

9781718502628

Number of Pages

595

Language

English

Format

PDF

File Size

5.40MB

Subject

Algorithms; Data Structures; JavaScript

Table of Contents

  • Cover
  • Praise for Data Structures and Algorithms in Javascript
  • Title Page
  • Copyright
  • Dedication
  • About the Author
  • About the Technical Reviewer
  • Brief Contents
  • Contents in Detail
  • Preface
  • Acknowledgments
  • Introduction
  • Part I: The Basics
  • 1. Using JavaScript
  • Modern JavaScript Features
  • JavaScript Development Tools
  • Summary
  • 2. Functional Programming in JavaScript
  • Why Use Functional Programming?
  • JavaScript as a Functional Language
  • Summary
  • Questions
  • 3. Abstract Data Types
  • The Theory
  • Implementing an ADT
  • Summary
  • Questions
  • 4. Analyzing Algorithms
  • Performance
  • Complexity
  • Summary
  • Questions
  • Part II: Algorithms
  • 5. Designing Algorithms
  • Recursion
  • Dynamic Programming
  • Brute-Force Search
  • Greedy Algorithms
  • Summary
  • Questions
  • 6. Sorting
  • The Sorting Problem
  • Sorting with Comparisons
  • Sorting Without Comparisons
  • Inefficient Sorting Algorithms
  • Summary
  • Questions
  • 7. Selecting
  • Selection Without Comparisons
  • Selecting with Comparisons
  • The Quickselect Family
  • Finding the Median with Lazy Select
  • Summary
  • Questions
  • 8. Shuffling and Sampling
  • Choosing Numbers Randomly
  • Shuffling
  • Sampling
  • Summary
  • Questions
  • 9. Searching
  • Search Definition
  • Searching Unsorted Arrays
  • Searching Ordered Arrays
  • Summary
  • Questions
  • Part III: Data Structures
  • 10. Lists
  • Basic Lists
  • Varieties of Lists
  • Summary
  • Questions
  • 11. Bags, Sets, and Maps
  • Introducing Bags, Sets, and Maps
  • JavaScript’s Solutions for Sets
  • Bitmaps
  • Using Lists
  • Hashing
  • Summary
  • Questions
  • 12. Binary Trees
  • What Are Trees?
  • Assured Balanced Binary Search Trees
  • Probabilistic Balance Binary Search Trees
  • Summary
  • Questions
  • 13. Trees and Forests
  • 14. Heaps
  • Binary Heaps
  • Priority Queues and Heaps
  • Heapsort
  • Treaps
  • Ternary and D-ary Heaps
  • Summary
  • Questions
  • 15. Extended Heaps
  • Meldable and Addressable Priority Queues
  • Skew Heaps
  • Binomial Heaps
  • Lazy Binomial Heaps
  • Fibonacci Heaps
  • Pairing Heaps
  • Summary
  • Questions
  • 16. Digital Search Trees
  • The Classic Version of Tries
  • Storing Extra Data in a Trie
  • An Enhanced Version of Tries
  • Radix Trees
  • Ternary Search Tries
  • Summary
  • Questions
  • 17. Graphs
  • What Are Graphs?
  • Representing Graphs
  • Finding the Shortest Paths
  • Sorting a Graph
  • Detecting Cycles
  • Detecting Connectivity
  • Finding a Minimum Spanning Tree
  • Summary
  • Questions
  • 18. Immutability and Functional Data Structures
  • Functional Data Structures
  • Summary
  • Questions
  • Answer Key
  • Bibliography
  • Index
  • Back Cover