29
Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether Hampden-Sydney College Wed, Nov 28, 2012 Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 1 / 14

Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Searching an Array – Sequential SearchLecture 33

Sections 9.1 - 9.2

Robb T. Koether

Hampden-Sydney College

Wed, Nov 28, 2012

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 1 / 14

Page 2: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

1 Sequential Search

2 The Sequential Search Algorithm

3 Efficiency

4 Assignment

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 2 / 14

Page 3: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Outline

1 Sequential Search

2 The Sequential Search Algorithm

3 Efficiency

4 Assignment

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 3 / 14

Page 4: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Searching for a Value in an Array

The ProblemLocate a value in an array.

ReportWhether the value was found, andWhere it was found.

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 4 / 14

Page 5: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

The Sequential Search

If the list is not sortedUse a sequential search.Runs in O(n) time.Relatively inefficient.Suitable for small and medium size lists.

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 5 / 14

Page 6: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Outline

1 Sequential Search

2 The Sequential Search Algorithm

3 Efficiency

4 Assignment

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 6 / 14

Page 7: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

The Sequential Search Algorithm

Make 1 pass.Compare the value to each element.Quit when a match is found or when the end of the list is reached.

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 7 / 14

Page 8: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 9: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

1

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 10: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

21

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 11: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

321

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 12: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

4321

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 13: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

432 51

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 14: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

43 62 51

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 15: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

4 73 62 51

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 16: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 73 62 51

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 17: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 73 62 51 9

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 18: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 73 62 1051 9

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 19: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 73 1162 1051 9

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 20: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 1273 1162 1051 9

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 21: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 1273 1162 1051 9 13

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 22: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 1273 1162 1051 9 1413

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 23: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

15 20 2532 3640 4850 5563 6470 8490 96

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

84 1273 1162 1051 9 1413 15

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 8 / 14

Page 24: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Outline

1 Sequential Search

2 The Sequential Search Algorithm

3 Efficiency

4 Assignment

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 9 / 14

Page 25: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Analysis of the Sequential Search

Best case: 1 comparison.Worst case: 15 comparisons.Average case: (1 + 2 + 3 + · · · + 15)/15 = 8 comparisons.

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 10 / 14

Page 26: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Efficiency of the Sequential Search

Best case requires 1 comparison.Worst case requires n comparisons.Average case requires (n + 1)/2 comparisons.

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 11 / 14

Page 27: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Examples of a Sequential Search

ExamplesSequentialSearch.cppSequentialSearchCounter.cppSequentialSearchTimer.cpp

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 12 / 14

Page 28: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Outline

1 Sequential Search

2 The Sequential Search Algorithm

3 Efficiency

4 Assignment

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 13 / 14

Page 29: Searching an Array – Sequential Searchpeople.hsc.edu/faculty-staff/robbk/Coms261/Lectures... · Searching an Array – Sequential Search Lecture 33 Sections 9.1 - 9.2 Robb T. Koether

Assignment

AssignmentRead Sections 9.1 - 9.2.

Robb T. Koether (Hampden-Sydney College) Searching an Array – Sequential Search Wed, Nov 28, 2012 14 / 14