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 real-world 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 hands-on 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 real-world 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 trade-off 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.
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
- Two-dimensional 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
-
Non-Linear 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
- B-tree
- T-tree
-
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 – Non-Linear 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
You might also like
video
Data Structures and Algorithms: The Complete Masterclass
With the knowledge of data structures and algorithms at your fingertips, you can write efficient computer …
book
Codeless Data Structures and Algorithms: Learn DSA Without Writing a Single Line of Code
In the era of self-taught developers and programmers, essential topics in the industry are frequently learned …
book
Hands-On Software Engineering with Golang
Explore software engineering methodologies, techniques, and best practices in Go programming to build easy-to-maintain software that …
video
Up and Running with Concurrency in Go (Golang)
According to the most recent developer surveys, Go(lang) is one of the world’s most desired and …