5.8. Analyzing Algorithms¶

5.8.1. Introduction and Goals¶

 Searching and Sorting Experiments.In this lesson we are going to use an App Inventor app to analyze the algorithms we have been studying. You will be running two different apps, one to test the search algorithms and one to test the sorting algorithms. This activity will resemble that of a scientific investigation. You'll run the apps repeatedly on different lists of data, record the running times of the algorithms, tabulate and graph your data, and then analyze the results. Can you figure out from the results, which algorithm is which? Another way to look at this activity is as quality assurance (QA). Many careers in the computing field start with assignments in QA. This is where you help software developers test and debug their apps. (Teacher Tube version) Learning Objectives: I will learn to conduct an empirical (experimental) investigation of basic search and sort algorithms determine the efficiency for basic search and sort algorithms depending on input size deepen my understanding of search and sort algorithms Language Objectives: I will be able to represent data in a graph then analyze and make conclusions about the algorithms being run based on my data use target vocabulary, such as efficiency and instance of a problem while experimenting with search and sort algorithms with the support of concept definitions and vocabulary notes from this lesson

5.8.2. Learning Activities¶

Analyzing Search Algorithms

Watch the following presentation on analyzing search algorithms to learn how to determine how fast linear search and binary search are.

Analyzing Sort Algorithms

Watch the following presentation on analyzing sort algorithms to learn how fast bubble sort, merge sort, and bucket sort are. (slides)

5.8.3. Summary¶

In this lesson, you learned how to:

5.8.4. Self-Check¶

Here is a table of some of the technical terms discussed in this lesson. Hover over the terms to review the definitions.

 efficiency more efficient instance of a problem linear or sequential search binary search sorting algorithm