I'm Reading 'Learn Data Structures and Algorithms with Golang' So You Don't Have To
So I picked up this book called “Learn Data Structures and Algorithms with Golang” by Bhagvan Kommadi (Packt Publishing, 2019, ISBN: 978-1-78961-850-1). And I’m going to retell the whole thing here on the blog, chapter by chapter.
Why? Because data structures and algorithms are one of those things every developer needs to know. But most resources either assume you already know everything or throw math at you until your eyes glaze over. This book tries to teach it all using Go, which is a nice change from the usual Java or Python examples you see everywhere.
What’s the Book About?
The book has 10 chapters split into three sections:
Section 1 - The Basics:
- Chapter 1: What data structures and algorithms actually are
- Chapter 2: Getting started with Go for DSA
Section 2 - Core Data Structures:
- Chapter 3: Linear data structures (lists, stacks, queues)
- Chapter 4: Non-linear data structures (trees, hash tables)
- Chapter 5: Homogeneous data structures (arrays, matrices)
- Chapter 6: Heterogeneous data structures (linked lists)
- Chapter 7: Dynamic data structures (dictionaries, sequences)
- Chapter 8: Classic algorithms (sorting, searching, recursion)
Section 3 - Advanced Stuff:
- Chapter 9: Network and sparse matrix representation
- Chapter 10: Memory management
How This Series Works
I’ll break each chapter into digestible posts. No heavy theory dumps. Just the key ideas explained in plain language with enough Go code to make it click.
If you’re learning Go and want to understand how data structures work under the hood, this series is for you. If you’re prepping for coding interviews and want a different angle on the material, this could help too.
The Posts
Here’s what’s coming:
- Chapter 1 Part 1: What Are Data Structures Anyway?
- Chapter 1 Part 2: Algorithms and How to Think About Performance
- Chapter 2 Part 1: Go Basics for Data Structures
- Chapter 2 Part 2: Slices, Maps, and Go Patterns
- Chapter 3 Part 1: Lists, Sets, and Tuples in Go
- Chapter 3 Part 2: Stacks, Queues, and Heaps
- Chapter 4 Part 1: Trees in Go
- Chapter 4 Part 2: Hash Tables and Hash Functions
- Chapter 5 Part 1: Arrays and Multi-Dimensional Arrays
- Chapter 5 Part 2: Matrix Operations in Go
- Chapter 6 Part 1: Singly and Doubly Linked Lists
- Chapter 6 Part 2: Circular Lists and Ordered Lists
- Chapter 7 Part 1: Dictionaries and TreeSets
- Chapter 7 Part 2: Sequences and Anti-Patterns
- Chapter 8 Part 1: Sorting Algorithms in Go
- Chapter 8 Part 2: Searching, Recursion, and Hashing
- Chapter 9 Part 1: Graphs and Network Representation
- Chapter 9 Part 2: Sparse Matrices and Real-World Uses
- Chapter 10 Part 1: Memory Management and Garbage Collection
- Chapter 10 Part 2: Cache Management and Space Allocation
- Final Thoughts: Was This Book Worth It?
Let’s get into it. First up: Chapter 1 Part 1 - What Are Data Structures Anyway?