Index / 001 EN
A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills cover

Computer Science

Computer Science

A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills

Jay Wengrow

A plain-language introduction to the data structures and algorithms that working programmers rely on. It explains each structure by counting the steps that operations take, builds up Big O notation from those counts, and shows code in JavaScript, Python and Ruby. Exercises at the end of every chapter let readers check their understanding.

Prerequisites: Basic programming in any common language, including loops, functions and arrays; no mathematics beyond arithmetic is required.

Difficulty Level
Beginner
Academic Level
Undergraduate
data structuresAlgorithmsbig o notationrecursionProgrammingTextbook

01 / Classic Textbook Recommendation

Classic Textbook Recommendation

Who this book is for

Students starting a data structures course who find formal textbooks hard going, self-taught programmers and bootcamp graduates who want the foundations a degree course would give them, and anyone preparing to read a standard textbook. It assumes readers can already write small programs and want to understand why some code is fast and other code is slow.

Prerequisites

Basic programming in any common language, including loops, functions and arrays; no mathematics beyond arithmetic is required.

What it covers

Measuring efficiency by counting steps; Big O notation for time and space; arrays, sets and ordered arrays with binary search; simple sorting algorithms and their analysis; hash tables; stacks and queues; recursion and recursive thinking; dynamic programming and memoization; quicksort and quickselect; linked lists; binary search trees; heaps and priority queues; tries; graphs with breadth-first and depth-first search and Dijkstra's algorithm; and practical techniques for optimizing code.

How to use it

Bhargava's Grokking Algorithms teaches mainly through illustrations and a selection of key algorithms; this book is a longer, code-centred tour that works through the core data structures one by one with exercises. Choose it when you want steady practice analysing real code. Read a chapter, then run and modify the examples in your own language.

Edition and sources

Second edition, published by The Pragmatic Bookshelf in August 2020 (ISBN 9781680507225); it adds chapters on recursion, dynamic programming and everyday use of Big O, and exercises throughout. Bibliographic data for this record comes from The Pragmatic Bookshelf.