Practice Exercises
Summary
3.1 Introduction to Data Structures and Algorithms 3.2 Algorithm Design and Discovery 3.3 Formal Properties of Algorithms 3.4 Algorithmic Paradigms 3.5 Sample Algorithms by Problem 3.6 Computer Science Theory
Computer Science Theory
Learning Objectives By the end of this section, you will be able to: Throughout this chapter, we have introduced several techniques and canonical case studies for the design and analysis of algorithms—oftentimes focusing on the ideas and details behind individual…
Sample Algorithms by Problem
Learning Objectives By the end of this section, you will be able to: Earlier, we introduced several computing problems, like searching for a target value in a list or implementing an abstract data type (lists, sets, maps, priority queues, graphs).…
Algorithmic Paradigms
Learning Objectives By the end of this section, you will be able to: Algorithm design patterns are solutions to well-known computing problems. In 3.5 Sample Algorithms by Problem, we will survey algorithm design patterns by problem. As it turns out, many…
Formal Properties of Algorithms
Learning Objectives By the end of this section, you will be able to: Beyond analyzing an algorithm by examining its outputs, computer scientists are also interested in examining its efficiency by performing an algorithmic runtime analysis, a study of how much…
Algorithm Design and Discovery
Learning Objectives By the end of this section, you will be able to: Our introduction to data structures focused primarily on representing complex data. But computer scientists are also interested in designing algorithms for solving a wider variety of problems…
Introduction to Data Structures and Algorithms
Learning Objectives By the end of this section, you will be able to: Computer science is the study of computers and computational systems that involve data representation and process automation. Owing to their historical roots as calculators, computers can easily…
Introduction
Figure 3.1 Online mapping applications represent places, locations, and map data while providing functionality to look around, search for places, and get navigation directions. The right combination of data structures to manage collections of places, locations, and map data along with efficient…