Topic 24 sorting and searching arrays

Slides:



Advertisements
Similar presentations
Topic 14 Searching and Simple Sorts "There's nothing in your head the sorting hat can't see. So try me on and I will tell you where you ought to be." -The.
Advertisements

Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Topic 24 sorting and searching arrays "There's nothing in your head the sorting hat can't see. So try me on and I will tell you where you ought to be."
CS 307 Fundamentals of Computer ScienceSorting and Searching 1 Topic 11 Sorting and Searching "There's nothing in your head the sorting hat can't see.
Sorting and Searching. Searching List of numbers (5, 9, 2, 6, 3, 4, 8) Find 3 and tell me where it was.
Objectives Learn how to implement the sequential search algorithm Explore how to sort an array using the selection sort algorithm Learn how to implement.
Searching and Sorting Arrays
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 9 Searching.
Week 11 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8: Searching and Sorting Arrays.
Chapter 16: Searching, Sorting, and the vector Type.
Copyright © 2012 Pearson Education, Inc. Chapter 8: Searching and Sorting Arrays.
Chapter 10 Strings, Searches, Sorts, and Modifications Midterm Review By Ben Razon AP Computer Science Period 3.
Computer Science Searching & Sorting.
Chapter 8 Searching and Sorting Arrays Csc 125 Introduction to C++ Fall 2005.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 8: Searching and Sorting Arrays.
C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 19: Searching and Sorting.
LAB#7. Insertion sort In the outer for loop, out starts at 1 and moves right. It marks the leftmost unsorted data. In the inner while loop, in starts.
1 Sorting and Searching "There's nothing in your head the sorting hat can't see. So try me on and I will tell you where you ought to be." -The Sorting.
CSC 211 Data Structures Lecture 13
Searching & Sorting Programming 2. Searching Searching is the process of determining if a target item is present in a list of items, and locating it A.
1 Searching and Sorting Searching algorithms with simple arrays Sorting algorithms with simple arrays –Selection Sort –Insertion Sort –Bubble Sort –Quick.
Chapter 9 Sorting. The efficiency of data handling can often be increased if the data are sorted according to some criteria of order. The first step is.
M180: Data Structures & Algorithms in Java Sorting Algorithms Arab Open University 1.
Course Code #IDCGRF001-A 5.1: Searching and sorting concepts Programming Techniques.
Chapter 16: Searching, Sorting, and the vector Type.
1 compares each element of the array with the search key. works well for small arrays or for unsorted arrays works for any table slow can put more commonly.
Searching Arrays Linear search Binary search small arrays
Searching and Sorting Searching algorithms with simple arrays
Searching and Sorting Arrays
Chapter 16: Searching, Sorting, and the vector Type
Chapter 9: Sorting and Searching Arrays
Searching and Sorting Algorithms
Merging Merge. Keep track of smallest element in each sorted half.
Module 5 Sorting and Searching: Bubble sort Selection sort
Searching & Sorting "There's nothing hidden in your head the sorting hat can't see. So try me on and I will tell you where you ought to be." -The Sorting.
Quicksort "There's nothing in your head the sorting hat can't see. So try me on and I will tell you where you ought to be." -The Sorting Hat, Harry Potter.
Sorting Data are arranged according to their values.
Searching CSCE 121 J. Michael Moore.
Topic 14 Searching and Simple Sorts
Linear and Binary Search
Searching.
Introduction to Search Algorithms
Selection Sort – an array sorting algorithm
CSC215 Lecture Algorithms.
Unit-2 Divide and Conquer
Chapter 8 Search and Sort
Sorting Data are arranged according to their values.
Searching and Sorting Arrays
Standard Version of Starting Out with C++, 4th Edition
UNIT – V PART - I Searching By B VENKATESWARLU, CSE Dept.
Searching: linear & binary
Search,Sort,Recursion.
24 Searching and Sorting.
Topic 14 Searching and Simple Sorts
Principles of Computing – UFCFA3-30-1
Sorting "There's nothing in your head the sorting hat can't see. So try me on and I will tell you where you ought to be." -The Sorting Hat, Harry Potter.
Chapter 4.
Searching and Sorting Arrays
A G L O R H I M S T A Merging Merge.
Search,Sort,Recursion.
Searching and Sorting Arrays
CPS120: Introduction to Computer Science
CPS120: Introduction to Computer Science
A G L O R H I M S T A Merging Merge.
A G L O R H I M S T A Merging Merge.
Chapter 19 Searching, Sorting and Big O
Principles of Computing – UFCFA3-30-1
Applications of Arrays
Presentation transcript:

Topic 24 sorting and searching arrays "There's nothing in your head the sorting hat can't see. So try me on and I will tell you where you ought to be." -The Sorting Hat, Harry Potter and the Sorcerer's Stone

Searching Given an array of ints find the index of the first occurrence of a target int Given the above array and a target of 27 the method returns 2 What if not present? What if more than one occurrence? index 1 2 3 4 5 value 89 27 -5 42 11

clicker Given an array with 1,000,000 distinct elements in random order, how many elements do you expect to look at (on average) when searching if: item present item not present A. 1 1,000,000 B. 500,000 1,000,000 C. 1,000,000 1,000,000 D. 1,000 500,000 E. 20 1,000,000

linear or sequential search

Sorting XKCD http://xkcd.com/1185/

Sorting A fundamental application for computers Done to make finding data (searching) faster Many different algorithms for sorting One of the difficulties with sorting is working with a fixed size storage container (array) if resize, that is expensive (slow) Trying to apply a human technique of sorting can be difficult try sorting a pile of papers and clearly write out the algorithm you follow

Selection Sort To sort a list into ascending order: Find the smallest item in an array, the minimum Put that value in the first element of the array Where to put the value that was in the first location? And now…?

Selection Sort in Practice 44 68 191 119 119 37 83 82 191 45 158 130 76 153 39 25 http://tinyurl.com/d7kxxxf animation of selection sort algorithm

Implementation of Selection Sort Include println commands to trace the sort

clicker Determine how long it takes to sort an array with 100,000 elements in random order using selection sort. When the number of elements is increased to 200,000 how long will it take to sort the array? About the same 1.5 times as long 2 times as long 4 times as long 16 times as long

Insertion Sort Another of the Simple sort The first item is sorted Compare the second item to the first if smaller swap Third item, compare to item next to it need to swap after swap compare again And so forth…

Insertion Sort in Practice 44 68 191 119 119 37 83 82 191 45 158 130 76 153 39 25 http://tinyurl.com/d8spm2l animation of insertion sort algorithm

Binary Search

Searching in a Sorted List If items are sorted then we can divide and conquer dividing your work in half with each step generally a good thing The Binary Search on List in Ascending order Start at middle of list is that the item? If not is it less than or greater than the item? less than, move to second half of list greater than, move to first half of list repeat until found or sub list size = 0

Binary Search list low item middle item high item Is middle item what we are looking for? If not is it more or less than the target item? (Assume lower) list low middle high item item item and so forth…

Implement Binary Search 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 3 5 7 11 13 17 19 23 29 31 37 41 47 43 53

Trace When Key == 3 Trace When Key == 30 Variables of Interest?

clicker Given an array with 1,000,000 elements in sorted order, how many elements do you expect to look at when searching (with binary search) for a value if: item present item not present A. 1 500,000 B. 20 20 C. 1 1,000,000 D. 1,000 500,000 E. 1,000 1,000