© 2004 pearson addison-wesley. all rights reserved october 19, 2007 sorting coms 207: programming i...
TRANSCRIPT
![Page 1: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/1.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
October 19, 2007
Sorting
ComS 207: Programming I (in Java)Iowa State University, FALL 2007Instructor: Alexander Stoytchev
![Page 2: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/2.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Midterm 2
• Next Tuesday (Oct 23, 2007)
• Location: Curtiss Hall, room 127 (classroom)
• Time: 6:30pm – 7:45pm
• Try to be there at least 10 minutes early.
• If you need extra time you can have it but this is **NOT** a 3 hour exam!
![Page 3: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/3.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Midterm Format
• Covers Sections 1-5 & 7
• Also, Searching and Sorting
• Format same as Midterm 1
![Page 4: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/4.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Midterm Format (last semester)
• True/False (10 x 1p each = 10p)• Short answer ( 5 x 2p each = 10p)• Code Snippets ( 5 x 3p each = 15p)• Other Stuff ( 3 x 5p each = 15p)• Other Stuff ( 3 x 5p each = 15p)• Program 1 (15p)• Program 2 (15p)• Program 3 (15p)• Program 4 (20p)
• TOTAL (130p)
![Page 5: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/5.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Midterm Format
• You don’t need to get all 130 points to get an A
• 100 is a 100
• You must get at least 65 points in order to pass this exam
![Page 6: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/6.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Midterm Format
• Drop Deadline is next Friday (Oct 26)
• I cannot guarantee that all exams will be graded by then.
• If you believe that you did not do well please ask me to grade your exam first at the time when you are submitting it.
![Page 7: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/7.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Quick review of last lecture
![Page 8: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/8.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Binary Search
• At each step it splits the remaining array elements into two groups
• Therefore, it is faster than the linear search
• Works only on an already SORTED array
• Thus, there is a performance penalty for sorting the array
[http://web.ics.purdue.edu/~cs154/lectures/lecture011.htm]
![Page 9: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/9.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved [http://web.ics.purdue.edu/~cs154/lectures/lecture011.htm]
Example:SuccessfulBinarySearch
![Page 10: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/10.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Example: BinarySearch.java
![Page 11: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/11.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
![Page 12: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/12.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Analysis of Searching Methods
• For an array of size n
• Sequential Search (Average-Case) n/2• Sequential Search (Worst-Case) n
• Binary Search (Average-Case) log(n)/2• Binary Search (Worst-Case) log(n)
![Page 13: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/13.jpg)
Sorting
Not in the Textbook
![Page 14: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/14.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Insertion Sort
[http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
0
![Page 15: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/15.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved [http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
Example:InsertionSort
![Page 16: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/16.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Animations for Insertion Sort
[http://maven.smith.edu/~thiebaut/java/sort/demo.html]
![Page 17: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/17.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Animations of Sorting Algoritms
• http://maven.smith.edu/~thiebaut/java/sort/demo.html
• http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html
![Page 18: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/18.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Swapping Array Elements
[http://www.scs.ryerson.ca/jpanar/w2006/cps125/example.gifs/ch7/Arr.Swap.gif]
![Page 19: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/19.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Java code
// Swap a[i] with the smallest element
int temp = a[i];
a[i] = a[minIndex];a[minIndex] = temp;
![Page 20: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/20.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Example: InsertionSort.java
![Page 21: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/21.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Selection Sort
[http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
![Page 22: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/22.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Example:SelectionSort
[http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
![Page 23: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/23.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Example: SelectionSort.java
![Page 24: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/24.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Bubble Sort
[http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
0
![Page 25: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/25.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved [http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
Example:BubbleSort
![Page 26: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/26.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Example: BubbleSort.java
![Page 27: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/27.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Analysis: all three run in O(n2) time
[http://linux.wku.edu/~lamonml/algor/sort/sort.html]
![Page 28: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/28.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
Analysis
• There are faster sorting algorithms Heap sort Quick sort Merge Sort
• We will not cover those but feel free to study them on your own.
• They run in O(n log n) time.
![Page 29: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/29.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
O(n log n) sorting algorithms
[http://linux.wku.edu/~lamonml/algor/sort/sort.html]
![Page 30: © 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:](https://reader035.vdocument.in/reader035/viewer/2022062517/56649f1b5503460f94c308b1/html5/thumbnails/30.jpg)
© 2004 Pearson Addison-Wesley. All rights reserved
THE END