Book Description
Explore Golang's data structures and algorithms to design, implement, and analyze code in the professional setting
Key Features
 Learn the basics of data structures and algorithms and implement them efficiently
 Use data structures such as arrays, stacks, trees, lists and graphs in realworld scenarios
 Compare the complexity of different algorithms and data structures for improved code performance
Book Description
Golang is one of the fastest growing programming languages in the software industry. Its speed, simplicity, and reliability make it the perfect choice for building robust applications. This brings the need to have a solid foundation in data structures and algorithms with Go so as to build scalable applications. Complete with handson tutorials, this book will guide you in using the best data structures and algorithms for problem solving.
The book begins with an introduction to Go data structures and algorithms. You'll learn how to store data using linked lists, arrays, stacks, and queues. Moving ahead, you'll discover how to implement sorting and searching algorithms, followed by binary search trees. This book will also help you improve the performance of your applications by stringing data types and implementing hash structures in algorithm design. Finally, you'll be able to apply traditional data structures to solve realworld problems.
By the end of the book, you'll have become adept at implementing classic data structures and algorithms in Go, propelling you to become a confident Go programmer.
What you will learn
 Improve application performance using the most suitable data structure and algorithm
 Explore the wide range of classic algorithms such as recursion and hashing algorithms
 Work with algorithms such as garbage collection for efficient memory management
 Analyze the cost and benefit tradeoff to identify algorithms and data structures for problem solving
 Explore techniques for writing pseudocode algorithm and ace whiteboard coding in interviews
 Discover the pitfalls in selecting data structures and algorithms by predicting their speed and efficiency
Who this book is for
This book is for developers who want to understand how to select the best data structures and algorithms that will help solve coding problems. Basic Go programming experience will be an added advantage.
Publisher Resources
Table of Contents
 Title Page
 Copyright and Credits
 About Packt
 Contributors
 Preface
 Section 1: Introduction to Data Structures and Algorithms and the Go Language
 Data Structures and Algorithms

Getting Started with Go for Data Structures and Algorithms
 Technical requirements
 Arrays
 Slices
 Twodimensional slices
 Maps
 Database operations
 Variadic functions
 CRUD web forms
 Summary
 Questions
 Further reading
 Section 2: Basic Data Structures and Algorithms using Go
 Linear Data Structures

NonLinear Data Structures
 Technical requirements

Trees

Binary search tree

The BinarySearchTree class
 The InsertElement method
 The insertTreeNode method
 The inOrderTraverse method
 The inOrderTraverseTree method
 The PreOrderTraverseTree method
 The preOrderTraverseTree method
 The PostOrderTraverseTree method
 The postOrderTraverseTree method
 The MinNode method
 The MaxNode method
 The SearchNode method
 The searchNode method
 The RemoveNode method
 The removeNode method
 The String method
 The stringify method
 The main method

The BinarySearchTree class
 Adelson, Velski, and Landis (AVL) tree
 B+ tree
 Btree
 Ttree

Binary search tree
 Tables
 Symbol tables
 Containers
 The hash functions
 Summary
 Questions
 Further reading
 Homogeneous Data Structures
 Heterogeneous Data Structures
 Dynamic Data Structures
 Classic Algorithms
 Section 3: Advanced Data Structures and Algorithms using Go
 Network and Sparse Matrix Representation
 Memory Management

Next Steps
 Technical requirements

Learning outcomes
 Key takeaways

Next steps
 Chapter 1 – Data Structures and Algorithms
 Chapter 2 – Getting Started with Go for Data Structures and Algorithms
 Chapter 3 – Linear Data Structures
 Chapter 4 – NonLinear Data Structures
 Chapter 5 – Homogeneous Data Structures
 Chapter 6 – Heterogeneous Data Structures
 Chapter 7 – Dynamic Data Structures
 Chapter 8 – Classic Algorithms
 Chapter 9 – Network and Sparse Matrix Representation
 Chapter 10 – Memory Management
 Tips and techniques
 Other Books You May Enjoy
Product Information
 Title: Learn Data Structures and Algorithms with Golang
 Author(s):
 Release date: March 2019
 Publisher(s): Packt Publishing
 ISBN: 9781789618501