Mr. Dave Clausen La Cañada High School

Slides:



Advertisements
Similar presentations
Selection Sort. Selection Sort Algorithm (ascending) 1.Find smallest element (of remaining elements). 2.Swap smallest element with current element (starting.
Advertisements

Lesson 8 Searching and Sorting Arrays 1CS 1 Lesson 8 -- John Cole.
Bubble Sort Algorithm 1.Initialize the size of the list to be sorted to be the actual size of the list. 2.Loop through the list until no element needs.
MATH 224 – Discrete Mathematics
The Merge Sort Textbook Authors: Ken Lambert & Doug Nance PowerPoint Lecture by Dave Clausen.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
CMPT 225 Sorting Algorithms Algorithm Analysis: Big O Notation.
 Sort: arrange values into an order  Alphabetical  Ascending numeric  Descending numeric  Does come before or after “%”?  Two algorithms considered.
Visual C++ Programming: Concepts and Projects
Outline Polymorphic References Polymorphism via Inheritance Polymorphism via Interfaces Sorting Searching Event Processing Revisited File Choosers and.
The Quick Sort Textbook Authors: Ken Lambert & Doug Nance PowerPoint Lecture by Dave Clausen.
Sorting and Searching. Searching List of numbers (5, 9, 2, 6, 3, 4, 8) Find 3 and tell me where it was.
CS 106 Introduction to Computer Science I 03 / 03 / 2008 Instructor: Michael Eckmann.
Algorithm Efficiency and Sorting
1 Sorting/Searching and File I/O Sorting Searching Reading for this lecture: L&L
CS 106 Introduction to Computer Science I 10 / 15 / 2007 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 10 / 16 / 2006 Instructor: Michael Eckmann.
The Insertion Sort Mr. Dave Clausen La Cañada High School.
The Binary Search Textbook Authors: Ken Lambert & Doug Nance PowerPoint Lecture by Dave Clausen
- SEARCHING - SORTING.  Given:  The array  The search target: the array element value we are looking for  Algorithm:  Start with the initial array.
Fall 2013 Instructor: Reza Entezari-Maleki Sharif University of Technology 1 Fundamentals of Programming Session 17 These.
Array operations II manipulating arrays and measuring performance.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 11 Sorting and Searching.
+ ARRAYS - SEARCHING - SORTING Dr. Soha S. Zaghloul updated by Rasha M. AL_Eidan 2015.
CSE 373 Data Structures and Algorithms
Sorting. Algorithms Sorting reorders the elements in an array or list in either ascending or descending order. Sorting reorders the elements in an array.
1 2. Program Construction in Java. 2.9 Sorting 3 The need Soritng into categories is relatively easy (if, else if, switch); here we consider sorting.
The Bubble Sort by Mr. Dave Clausen La Cañada High School.
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.
3 – SIMPLE SORTING ALGORITHMS
CS 106 Introduction to Computer Science I 03 / 02 / 2007 Instructor: Michael Eckmann.
Elementary Sorting 30 January Simple Sort // List is an array of size == n for (i = 1; i < n; i++) for (j = i+1; j List[j])
© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures for Java William H. Ford William R. Topp Chapter 4 Introduction.
The Selection Sort Mr. Dave Clausen La Cañada High School.
Sorting Arrays ANSI-C. Selection Sort Assume want to sort a table of integers, of size length, in increasing order. Sketch of algorithm: –Find position.
12. Searching/Sorting Programming in C++ Computer Science Dept Va Tech August, 2000 © Barnette ND, McQuain WD, Keenan MA 1 Simple Searching Many.
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
Sort Algorithm.
The Bubble Sort Mr. Dave Clausen La Cañada High School
Chapter 9: Sorting and Searching Arrays
CS212: Data Structures and Algorithms
Searching and Sorting Algorithms
Sorting Mr. Jacobs.
Lecture 14 Searching and Sorting Richard Gesick.
Introduction to Search Algorithms
The Sequential Search (Linear Search)
Algorithm design and Analysis
Selection Sort Find the smallest value in the array. Put it in location zero. Find the second smallest value in the array and put it in location 1. Find.
Mr. Dave Clausen La Cañada High School
Selection sort Given an array of length n,
Lecture 11 Searching and Sorting Richard Gesick.
Sorting.
Searching and Sorting 1-D Arrays
Sorting.
25 Searching and Sorting Many slides modified by Prof. L. Lilien (even many without an explicit message indicating an update). Slides added or modified.
Ken Lambert & Doug Nance
24 Searching and Sorting.
Data Structures for Java William H. Ford William R. Topp
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.
Topic 24 sorting and searching arrays
Searching/Sorting/Searching
Exercise 5 1. We learned bubble sort during class. This problem requires you to modify the code for bubble sorting method to implement the selection sorting.
The Binary Search by Mr. Dave Clausen
Sorting and Searching -- Introduction
Introduction to Sorting Algorithms
The Sequential Search (Linear Search)
The Sequential Search (Linear Search)
Mr. Dave Clausen La Cañada High School
Presentation transcript:

Mr. Dave Clausen La Cañada High School 1/15/2019 The Selection Sort Mr. Dave Clausen La Cañada High School Mr. D. Clausen

The Selection Sort Description 1/15/2019 The Selection Sort Description The Selection Sort searches (linear search) all of the elements in a list until it finds the smallest element. It “swaps” this with the first element in the list. Next it finds the smallest of the remaining elements, and “swaps” it with the second element. Repeat this process until you compare only the last two elements in the list. 1/15/2019 Mr. Dave Clausen Mr. D. Clausen

The Selection Sort Algorithm 1/15/2019 The Selection Sort Algorithm For each index position i Find the smallest data value in the array from positions i through length - 1, where length is the number of data values stored. Exchange (swap) the smallest value with the value at position i. 1/15/2019 Mr. Dave Clausen Mr. D. Clausen

A Selection Sort Example Smallest ? We start by searching for the smallest element in the List. 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ? 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ! 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Swap 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Swapped 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ? After the smallest element is in the first position, we continue searching with the second element and look for the next smallest element. 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ! In this special case, the next smallest element is in the second position already. Swapping keeps it in this position. 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Swapped Swapping keeps it in this position. 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ? After the next smallest element is in the second position, we continue searching with the third element and look for the next smallest element. 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ! 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Swap 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Swapped 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ? 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ? 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Smallest ! 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Swap 1/15/2019 Mr. Dave Clausen

A Selection Sort Example Swapped 1/15/2019 Mr. Dave Clausen

A Selection Sort Example The last two elements are in order, so no swap is necessary. 1/15/2019 Mr. Dave Clausen

What “Swapping” Means TEMP 6 Place the first element into the Temporary Variable. 1/15/2019 Mr. Dave Clausen

What “Swapping” Means TEMP 6 Replace the first element with the value of the smallest element. 1/15/2019 Mr. Dave Clausen

What “Swapping” Means TEMP 6 Replace the third element (in this example) with the Temporary Variable. 1/15/2019 Mr. Dave Clausen

C + + Examples of The Selection Sort Sample C++ Program For Selection Sort: sel_sort.cpp sel_sort.txt Animated Examples: Visual1.exe Visual1.cpp Visual1.txt Visual2.exe Visual2.cpp Visual2.txt On the Net: http://compsci.exeter.edu/Winter99/CS320/Resources/sortDemo.html http://www.aist.go.jp/ETL/~suzaki/AlgorithmAnimation/index.html 1/15/2019 Mr. Dave Clausen

C + + Code For Selection Sort void Selection_Sort (apvector <int> & v) { int min_index = 0; for (int index = 0; index < v.length( ) - 1; ++index) min_index = Find_Minimum (v, index); if (min_index ! = index) Swap_Data ( v [index], v [min_index]) } // Selection_Sort 1/15/2019 Mr. Dave Clausen

C + + Code For Find Minimum int Find_Minimum (const apvector <int> & v, int first) { int min_index = first; for (int index = first + 1; index < v.length( ); ++index) if ( v[index] < v[min_index]) min_index = index; return min_index; } // Find_Minimum 1/15/2019 Mr. Dave Clausen

C + + Code for Swap Procedure void Swap_Data (int &number1, int &number2) { int temp; temp = number1; number1 = number2; number2 = temp; } // End of Swap_Data function 1/15/2019 Mr. Dave Clausen

Pascal Code for Swap Procedure procedure Swap (var number1, number2: integer); var temp: integer; begin temp := number1; number1 := number2; number2 := temp end; {Swap} 1/15/2019 Mr. Dave Clausen

Pascal Code For Selection Sort procedure SelectionSort (var IntArray: IntNumbers); var element, SmallIndex, index: integer; begin for element := 1 to (MaxNum - 1) do SmallIndex := element; for index := (element + 1) to MaxNum do if IntArray [index] < IntArray [SmallIndex] then SmallIndex := index; Swap (IntArray [element], IntArray [SmallIndex]) end; end; {SelectionSort} 1/15/2019 Mr. Dave Clausen

BASIC Code For Selection Sort 8000 REM ################# 8010 REM Selection Sort 8020 REM ################# 8030 FOR ELEMENT = 1 TO MAXNUM - 1 8040 ::SmallIndex = element 8050 ::FOR INDEX = (element + 1) TO MAXNUM 8060 ::::::IF N (INDEX) < N (SmallIndex) THEN SmallIndex = INDEX 8070 ::NEXT INDEX 8080 ::TEMP = N (element) 8090 ::N (element) = N (SmallIndex) 8100 ::N (SmallIndex) = TEMP 8110 NEXT ELEMENT 8120 RETURN 1/15/2019 Mr. Dave Clausen

Big - O Notation Big - O notation is used to describe the efficiency of a search or sort. The actual time necessary to complete the sort varies according to the speed of your system. Big - O notation is an approximate mathematical formula to determine how many operations are necessary to perform the search or sort. The Big - O notation for the Selection Sort is O(n2), because it takes approximately n2 passes to sort the elements. 1/15/2019 Mr. Dave Clausen