Learn Data Structures And Algorithms With Golang

Learn Data Structures And Algorithms With Golang Book in PDF, ePub and Kindle version is available to download in english. Read online anytime anywhere directly from your device. Click on the download button below to get a free pdf file of Learn Data Structures And Algorithms With Golang book. This book definitely worth reading, it is an incredibly well-written.

Learn Data Structures and Algorithms with Golang

Author : Bhagvan Kommadi
Publisher : Packt Publishing Ltd
Page : 324 pages
File Size : 41,8 Mb
Release : 2019-03-30
Category : Computers
ISBN : 9781789618419

Get Book

Learn Data Structures and Algorithms with Golang by Bhagvan Kommadi Pdf

Explore Golang's data structures and algorithms to design, implement, and analyze code in the professional setting Key FeaturesLearn the basics of data structures and algorithms and implement them efficientlyUse data structures such as arrays, stacks, trees, lists and graphs in real-world scenariosCompare the complexity of different algorithms and data structures for improved code performanceBook 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 learnImprove application performance using the most suitable data structure and algorithmExplore the wide range of classic algorithms such as recursion and hashing algorithmsWork 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 solvingExplore techniques for writing pseudocode algorithm and ace whiteboard coding in interviewsDiscover the pitfalls in selecting data structures and algorithms by predicting their speed and efficiencyWho 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.

Learn Data Structures and Algorithms with Golang

Author : Bhagvan Kommadi
Publisher : Unknown
Page : 336 pages
File Size : 44,9 Mb
Release : 2019-03-29
Category : Computers
ISBN : 1789618509

Get Book

Learn Data Structures and Algorithms with Golang by Bhagvan Kommadi Pdf

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.

Introduction to Algorithms, fourth edition

Author : Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein
Publisher : MIT Press
Page : 1313 pages
File Size : 44,7 Mb
Release : 2022-04-05
Category : Computers
ISBN : 9780262046305

Get Book

Introduction to Algorithms, fourth edition by Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein Pdf

A comprehensive update of the leading algorithms text, with new material on matchings in bipartite graphs, online algorithms, machine learning, and other topics. Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. It covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers, with self-contained chapters and algorithms in pseudocode. Since the publication of the first edition, Introduction to Algorithms has become the leading algorithms text in universities worldwide as well as the standard reference for professionals. This fourth edition has been updated throughout. New for the fourth edition New chapters on matchings in bipartite graphs, online algorithms, and machine learning New material on topics including solving recurrence equations, hash tables, potential functions, and suffix arrays 140 new exercises and 22 new problems Reader feedback–informed improvements to old problems Clearer, more personal, and gender-neutral writing style Color added to improve visual presentation Notes, bibliography, and index updated to reflect developments in the field Website with new supplementary material Warning: Avoid counterfeit copies of Introduction to Algorithms by buying only from reputable retailers. Counterfeit and pirated copies are incomplete and contain errors.

Data Structures & Algorithms In Go

Author : Hemant Jain
Publisher : Independently Published
Page : 446 pages
File Size : 41,6 Mb
Release : 2019-05-21
Category : Electronic
ISBN : 1099552060

Get Book

Data Structures & Algorithms In Go by Hemant Jain Pdf

Data Structures & Algorithms books by Hemant Jain is a series of books about the usage of Data Structures and Algorithms in computer programming. The book is easy to follow and is written for interview preparation point of view. In these books, the examples are solved in various languages like Go, C, C++, Java, C#, Python, VB, JavaScript and PHP. GitHub Repositories for these books. https: //github.com/Hemant-Jain-Author Book's Composition This book introduces you to the world of data structures and algorithms. Data structures defines the way in which data is arranged in memory for fast and efficient access while algorithms are a set of instruction to solve problems by manipulating these data structures. Designing an efficient algorithm is a very important skill that all software companies, e.g. Microsoft, Google, Facebook etc. pursues. Most of the interviews for these companies are focused on knowledge of data-structures and algorithms. They look for how candidates use concepts of data structures and algorithms to solve complex problems efficiently. Apart from knowing, a programming language you also need to have good command of these key computer fundamentals to not only qualify the interview but also excel in you jobs as a software engineer. This book assumes that you are a C language developer. You are not an expert in C language, but you are well familiar with concepts of classes, functions, arrays, pointers and recursion. At the start of this book, we will be looking into Complexity Analysis followed by the various data structures and their algorithms. We will be looking into a Linked-List, Stack, Queue, Trees, Heap, Hash-Table and Graphs. We will also be looking into Sorting, Searching techniques. In last few chapters, we will be looking into various algorithmic techniques. Such as, Brute-Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, Reduction and Backtracking. . Table of Contents Chapter 0: How to use this book. Chapter 1: Algorithms Analysis Chapter 2: Approach to solve algorithm design problems Chapter 3: Abstract Data Type & C# Collections Chapter 4: Searching Chapter 5: Sorting Chapter 6: Linked List Chapter 7: Stack Chapter 8: Queue Chapter 9: Tree Chapter 10: Priority Queue Chapter 11: Hash-Table Chapter 12: Graphs Chapter 13: String Algorithms Chapter 14: Algorithm Design Techniques Chapter 15: Brute Force Algorithm Chapter 16: Greedy Algorithm Chapter 17: Divide & Conquer Chapter 18: Dynamic Programming Chapter 19: Backtracking Chapter 20: Complexity Theor

Graphic Go Algorithms

Author : Yang Hu
Publisher : Unknown
Page : 232 pages
File Size : 53,7 Mb
Release : 2020-06-18
Category : Electronic
ISBN : 9798655038363

Get Book

Graphic Go Algorithms by Yang Hu Pdf

Discover how graph algorithms can help you leverage the relationships within your data to develop more intelligent solutions and enhance your algorithms. You'll learn how graph analytics are uniquely suited to unfold complex structures and reveal difficult-to-find patterns lurking in your data. this book illustrates how graph algorithms deliver data structure and algorithmsThis practical book walks you through hands-on examples of how to use graph algorithms in Go.Learn how graph analytics vary from conventional algorithms analysisUnderstand how classic graph algorithms work, and how they are appliedExplore algorithm examples with working code and sample dada.The complexity of life, because they do not understand to simplify the complex, simple is the beginning of wisdom. From the essence of practice, this book to briefly explain the concept and vividly cultivate programming interest, you will learn it easy, fast and well

Data Structures and Algorithms in Python

Author : Michael T. Goodrich,Roberto Tamassia,Michael H. Goldwasser
Publisher : Wiley Global Education
Page : 748 pages
File Size : 49,8 Mb
Release : 2013-03-08
Category : Computers
ISBN : 9781118476734

Get Book

Data Structures and Algorithms in Python by Michael T. Goodrich,Roberto Tamassia,Michael H. Goldwasser Pdf

Based on the authors’ market leading data structures books in Java and C++, this textbook offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Structures and Algorithms in Python is the first authoritative object-oriented book available for the Python data structures course. Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++.

Hands-On Data Structures and Algorithms with Rust

Author : Claus Matzinger
Publisher : Packt Publishing Ltd
Page : 306 pages
File Size : 52,8 Mb
Release : 2019-01-25
Category : Computers
ISBN : 9781788991490

Get Book

Hands-On Data Structures and Algorithms with Rust by Claus Matzinger Pdf

Design and implement professional level programs by exploring modern data structures and algorithms in Rust. Key FeaturesUse data structures such as arrays, stacks, trees, lists and graphs with real-world examplesLearn the functional and reactive implementations of the traditional data structuresExplore illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner.Book Description Rust has come a long way and is now utilized in several contexts. Its key strengths are its software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications, not forgetting its importance in systems' programming. This book will be your guide as it takes you through implementing classic data structures and algorithms in Rust, helping you to get up and running as a confident Rust programmer. The book begins with an introduction to Rust data structures and algorithms, while also covering essential language constructs. You will learn how to store data using linked lists, arrays, stacks, and queues. You will also learn how to implement sorting and searching algorithms. You will learn how to attain high performance by implementing algorithms to string data types and implement hash structures in algorithm design. The book will examine algorithm analysis, including Brute Force algorithms, Greedy algorithms, Divide and Conquer algorithms, Dynamic Programming, and Backtracking. By the end of the book, you will have learned how to build components that are easy to understand, debug, and use in different applications. What you will learnDesign and implement complex data structures in RustAnalyze, implement, and improve searching and sorting algorithms in RustCreate and use well-tested and reusable components with RustUnderstand the basics of multithreaded programming and advanced algorithm designBecome familiar with application profiling based on benchmarking and testingExplore the borrowing complexity of implementing algorithmsWho this book is for This book is for developers seeking to use Rust solutions in a practical/professional setting; who wants to learn essential Data Structures and Algorithms in Rust. It is for developers with basic Rust language knowledge, some experience in other programming languages is required.

Data Structures and Algorithms in Java

Author : Michael T. Goodrich,Roberto Tamassia,Michael H. Goldwasser
Publisher : John Wiley & Sons
Page : 723 pages
File Size : 51,5 Mb
Release : 2014-06-16
Category : Computers
ISBN : 9781118808573

Get Book

Data Structures and Algorithms in Java by Michael T. Goodrich,Roberto Tamassia,Michael H. Goldwasser Pdf

The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich and Tomassia's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures. For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces. The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.

A Common-Sense Guide to Data Structures and Algorithms, Second Edition

Author : Jay Wengrow
Publisher : Pragmatic Bookshelf
Page : 714 pages
File Size : 40,8 Mb
Release : 2020-08-10
Category : Computers
ISBN : 9781680508055

Get Book

A Common-Sense Guide to Data Structures and Algorithms, Second Edition by Jay Wengrow Pdf

Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today’s web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code, with examples in JavaScript, Python, and Ruby. This new and revised second edition features new chapters on recursion, dynamic programming, and using Big O in your daily work. Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You’ll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions. Use these techniques today to make your code faster and more scalable.

Learning Functional Data Structures and Algorithms

Author : Atul S. Khot,Raju Kumar Mishra
Publisher : Packt Publishing Ltd
Page : 312 pages
File Size : 51,9 Mb
Release : 2017-02-23
Category : Computers
ISBN : 9781785885884

Get Book

Learning Functional Data Structures and Algorithms by Atul S. Khot,Raju Kumar Mishra Pdf

Learn functional data structures and algorithms for your applications and bring their benefits to your work now About This Book Moving from object-oriented programming to functional programming? This book will help you get started with functional programming. Easy-to-understand explanations of practical topics will help you get started with functional data structures. Illustrative diagrams to explain the algorithms in detail. Get hands-on practice of Scala to get the most out of functional programming. Who This Book Is For This book is for those who have some experience in functional programming languages. The data structures in this book are primarily written in Scala, however implementing the algorithms in other functional languages should be straight forward. What You Will Learn Learn to think in the functional paradigm Understand common data structures and the associated algorithms, as well as the context in which they are commonly used Take a look at the runtime and space complexities with the O notation See how ADTs are implemented in a functional setting Explore the basic theme of immutability and persistent data structures Find out how the internal algorithms are redesigned to exploit structural sharing, so that the persistent data structures perform well, avoiding needless copying. Get to know functional features like lazy evaluation and recursion used to implement efficient algorithms Gain Scala best practices and idioms In Detail Functional data structures have the power to improve the codebase of an application and improve efficiency. With the advent of functional programming and with powerful functional languages such as Scala, Clojure and Elixir becoming part of important enterprise applications, functional data structures have gained an important place in the developer toolkit. Immutability is a cornerstone of functional programming. Immutable and persistent data structures are thread safe by definition and hence very appealing for writing robust concurrent programs. How do we express traditional algorithms in functional setting? Won't we end up copying too much? Do we trade performance for versioned data structures? This book attempts to answer these questions by looking at functional implementations of traditional algorithms. It begins with a refresher and consolidation of what functional programming is all about. Next, you'll get to know about Lists, the work horse data type for most functional languages. We show what structural sharing means and how it helps to make immutable data structures efficient and practical. Scala is the primary implementation languages for most of the examples. At times, we also present Clojure snippets to illustrate the underlying fundamental theme. While writing code, we use ADTs (abstract data types). Stacks, Queues, Trees and Graphs are all familiar ADTs. You will see how these ADTs are implemented in a functional setting. We look at implementation techniques like amortization and lazy evaluation to ensure efficiency. By the end of the book, you will be able to write efficient functional data structures and algorithms for your applications. Style and approach Step-by-step topics will help you get started with functional programming. Learn by doing with hands-on code snippets that give you practical experience of the subject.

Hands-On System Programming with Go

Author : Alex Guerrieri
Publisher : Packt Publishing Ltd
Page : 441 pages
File Size : 43,5 Mb
Release : 2019-07-05
Category : Computers
ISBN : 9781789803365

Get Book

Hands-On System Programming with Go by Alex Guerrieri Pdf

Explore the fundamentals of systems programming starting from kernel API and filesystem to network programming and process communications Key FeaturesLearn how to write Unix and Linux system code in Golang v1.12Perform inter-process communication using pipes, message queues, shared memory, and semaphoresExplore modern Go features such as goroutines and channels that facilitate systems programmingBook Description System software and applications were largely created using low-level languages such as C or C++. Go is a modern language that combines simplicity, concurrency, and performance, making it a good alternative for building system applications for Linux and macOS. This Go book introduces Unix and systems programming to help you understand the components the OS has to offer, ranging from the kernel API to the filesystem, and familiarize yourself with Go and its specifications. You'll also learn how to optimize input and output operations with files and streams of data, which are useful tools in building pseudo terminal applications. You'll gain insights into how processes communicate with each other, and learn about processes and daemon control using signals, pipes, and exit codes. This book will also enable you to understand how to use network communication using various protocols, including TCP and HTTP. As you advance, you'll focus on Go's best feature-concurrency helping you handle communication with channels and goroutines, other concurrency tools to synchronize shared resources, and the context package to write elegant applications. By the end of this book, you will have learned how to build concurrent system applications using Go What you will learnExplore concepts of system programming using Go and concurrencyGain insights into Golang's internals, memory models and allocationFamiliarize yourself with the filesystem and IO streams in generalHandle and control processes and daemons' lifetime via signals and pipesCommunicate with other applications effectively using a networkUse various encoding formats to serialize complex data structuresBecome well-versed in concurrency with channels, goroutines, and syncUse concurrency patterns to build robust and performant system applicationsWho this book is for If you are a developer who wants to learn system programming with Go, this book is for you. Although no knowledge of Unix and Linux system programming is necessary, intermediate knowledge of Go will help you understand the concepts covered in the book

The Algorithm Design Manual

Author : Steven S Skiena
Publisher : Springer Science & Business Media
Page : 742 pages
File Size : 45,5 Mb
Release : 2009-04-05
Category : Computers
ISBN : 9781848000704

Get Book

The Algorithm Design Manual by Steven S Skiena Pdf

This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography. NEW to the second edition: • Doubles the tutorial material and exercises over the first edition • Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video • Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them • Includes several NEW "war stories" relating experiences from real-world applications • Provides up-to-date links leading to the very best algorithm implementations available in C, C++, and Java

Hands-On Data Structures and Algorithms with Python

Author : Dr. Basant Agarwal,Benjamin Baka
Publisher : Packt Publishing Ltd
Page : 389 pages
File Size : 42,8 Mb
Release : 2018-10-31
Category : Computers
ISBN : 9781788991933

Get Book

Hands-On Data Structures and Algorithms with Python by Dr. Basant Agarwal,Benjamin Baka Pdf

Learn to implement complex data structures and algorithms using Python Key FeaturesUnderstand the analysis and design of fundamental Python data structuresExplore advanced Python concepts such as Big O notation and dynamic programmingLearn functional and reactive implementations of traditional data structuresBook Description Data structures allow you to store and organize data efficiently. They are critical to any problem, provide a complete solution, and act like reusable code. Hands-On Data Structures and Algorithms with Python teaches you the essential Python data structures and the most common algorithms for building easy and maintainable applications. This book helps you to understand the power of linked lists, double linked lists, and circular linked lists. You will learn to create complex data structures, such as graphs, stacks, and queues. As you make your way through the chapters, you will explore the application of binary searches and binary search trees, along with learning common techniques and structures used in tasks such as preprocessing, modeling, and transforming data. In the concluding chapters, you will get to grips with organizing your code in a manageable, consistent, and extendable way. You will also study how to bubble sort, selection sort, insertion sort, and merge sort algorithms in detail. By the end of the book, you will have learned how to build components that are easy to understand, debug, and use in different applications. You will get insights into Python implementation of all the important and relevant algorithms. What you will learnUnderstand object representation, attribute binding, and data encapsulationGain a solid understanding of Python data structures using algorithmsStudy algorithms using examples with pictorial representationLearn complex algorithms through easy explanation, implementing PythonBuild sophisticated and efficient data applications in PythonUnderstand common programming algorithms used in Python data scienceWrite efficient and robust code in Python 3.7Who this book is for This book is for developers who want to learn data structures and algorithms in Python to write complex and flexible programs. Basic Python programming knowledge is expected.

Hands-On High Performance with Go

Author : Bob Strecansky
Publisher : Packt Publishing Ltd
Page : 387 pages
File Size : 42,5 Mb
Release : 2020-03-24
Category : Computers
ISBN : 9781789801774

Get Book

Hands-On High Performance with Go by Bob Strecansky Pdf

Proven methodologies and concurrency techniques that will help you write faster and better code with Go programming Key FeaturesExplore Go’s profiling tools to write faster programs by identifying and fixing bottlenecksAddress Go-specific performance issues such as memory allocation and garbage collectionDelve into the subtleties of concurrency and discover how to successfully implement it in everyday applicationsBook Description Go is an easy-to-write language that is popular among developers thanks to its features such as concurrency, portability, and ability to reduce complexity. This Golang book will teach you how to construct idiomatic Go code that is reusable and highly performant. Starting with an introduction to performance concepts, you’ll understand the ideology behind Go’s performance. You’ll then learn how to effectively implement Go data structures and algorithms along with exploring data manipulation and organization to write programs for scalable software. This book covers channels and goroutines for parallelism and concurrency to write high-performance code for distributed systems. As you advance, you’ll learn how to manage memory effectively. You’ll explore the compute unified device architecture (CUDA) application programming interface (API), use containers to build Go code, and work with the Go build cache for quicker compilation. You’ll also get to grips with profiling and tracing Go code for detecting bottlenecks in your system. Finally, you’ll evaluate clusters and job queues for performance optimization and monitor the application for performance regression. By the end of this Go programming book, you’ll be able to improve existing code and fulfill customer requirements by writing efficient programs. What you will learnOrganize and manipulate data effectively with clusters and job queuesExplore commonly applied Go data structures and algorithmsWrite anonymous functions in Go to build reusable appsProfile and trace Go apps to reduce bottlenecks and improve efficiencyDeploy, monitor, and iterate Go programs with a focus on performanceDive into memory management and CPU and GPU parallelism in GoWho this book is for This Golang book is a must for developers and professionals who have an intermediate-to-advanced understanding of Go programming, and are interested in improving their speed of code execution.

Think Data Structures

Author : Allen Downey
Publisher : "O'Reilly Media, Inc."
Page : 157 pages
File Size : 44,9 Mb
Release : 2017-07-07
Category : Computers
ISBN : 9781491972342

Get Book

Think Data Structures by Allen Downey Pdf

If you’re a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering—data structures and algorithms—in a way that’s clearer, more concise, and more engaging than other materials. By emphasizing practical knowledge and skills over theory, author Allen Downey shows you how to use data structures to implement efficient algorithms, and then analyze and measure their performance. You’ll explore the important classes in the Java collections framework (JCF), how they’re implemented, and how they’re expected to perform. Each chapter presents hands-on exercises supported by test code online. Use data structures such as lists and maps, and understand how they work Build an application that reads Wikipedia pages, parses the contents, and navigates the resulting data tree Analyze code to predict how fast it will run and how much memory it will require Write classes that implement the Map interface, using a hash table and binary search tree Build a simple web search engine with a crawler, an indexer that stores web page contents, and a retriever that returns user query results Other books by Allen Downey include Think Java, Think Python, Think Stats, and Think Bayes.