Download presentation
Presentation is loading. Please wait.
Published byElinor Gaines Modified over 9 years ago
1
Instructor: Alexander Stoytchev http://www.cs.iastate.edu/~alex/classes/2008_Fall_185/ CprE 185: Intro to Problem Solving (using C)
2
Administrative Stuff Midterm 2 is next week!!! Same format as before: Lab exam during your regular lab time (Oct 28 or Oct 29) Lecture exam on Oct 29 (10-11am) Note: There will be NO night exam. The exam will be cumulative with emphasis on conditional statements (if, if-else, switch), loops (do, while, for), arrays (to be covered), and searching and sorting algorithms (to be covered).
3
Administrative Stuff HW7 is out today. It’s due next Monday @ 8pm. HW6 is due this Friday (Oct 24) @ 8pm.
4
Other Stuff in Chapter 8
5
Two-Dimensional Arrays int Matrix[2][3]; Defines the following elements: Row1: Matrix[0][0], Matrix[0][1], Matrix[0][2] Row2: Matrix[1][0], Matrix[1][1], Matrix[1][2]
6
Two-Dimensional Arrays int Matrix[2][3]; Initialization: Matrix[0][0]=3; Matrix[0][1]=4; Matrix[0][2]=5; Matrix[1][0]=1; Matrix[1][1]= -20; Matrix[1][2]=7;
7
Two-Dimensional Arrays Initialization when defined: int Matrix[2][3] = { {3, 4, 5}, {1, -20, 7};
8
Two-Dimensional Arrays 2D arrays and nested for loop int Matrix[2][3] = { {3, 4, 5}, {1, -20, 7}}; int i,j; for(i=0; i< 2; i++) { for(j=0; j<3; j++) printf(“%3d ”, Matrix[i][j]); printf(“\n”); }
9
Sorting Algorithms CprE 185: Intro to Problem Solving Iowa State University, Ames, IA Copyright © Alexander Stoytchev
10
Quick Review of the Last Lecture
11
Problem: Find the minimum number in an array of unsorted integers find_minimum.c
12
Search [http://web.ics.purdue.edu/~cs154/lectures/lecture011.htm]
13
Linear Search The most basic Very easy to implement The array DOESN’T have to be sorted All array elements must be visited if the search fails Could be very slow
14
Example: Successful Linear Search [http://web.ics.purdue.edu/~cs154/lectures/lecture011.htm] Example: Successful Linear Search
15
[http://web.ics.purdue.edu/~cs154/lectures/lecture011.htm] Example: Failed Linear Search
16
Problem: Find the index of a number in an unsorted array of integers linear_search.c
17
Problem: Find the all occurrences of a number in an array and replace it with a new value. search_and_replace.c
18
Linear Search in a Sorted Array
19
Problem: Find the index of a number in a sorted array of integers LinearSearch_InSortedArray.c
20
Analysis If the list is unsorted we have to search all numbers before we declare that the target is not present in the array. Because the list is sorted we can stop as soon as we reach a number that is greater than our target Can we do even better?
21
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]
22
Example: Successful Binary Search
23
Example: BinarySearch.c
25
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)
26
Chapter 8 (Sorting)
27
Insertion Sort [http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm] 0
28
Analogy: Sorting Cards
30
[http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm] Example: Insertion Sort
31
Animations for Insertion Sort [http://maven.smith.edu/~thiebaut/java/sort/demo.html]
32
Animations of Sorting Algoritms http://maven.smith.edu/~thiebaut/java/sort/demo.html http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html
33
Swapping Array Elements [http://www.scs.ryerson.ca/jpanar/w2006/cps125/example.gifs/ch7/Arr.Swap.gif]
34
C code // Swap a[i] with the smallest element int temp = a[i]; a[i] = a[minIndex]; a[minIndex] = temp;
35
Example: InsertionSort.c
36
Selection Sort [http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
37
Example: Selection Sort [http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm]
38
Example: SelectionSort.c
39
Bubble Sort [http://web.ics.purdue.edu/~cs154/lectures/lecture010.htm] 0
40
Example: Bubble Sort
41
Example: BubbleSort.c
42
Analysis: all three run in O(n 2 ) time [http://linux.wku.edu/~lamonml/algor/sort/sort.html]
43
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.
44
O(n log n) sorting algorithms [http://linux.wku.edu/~lamonml/algor/sort/sort.html]
45
Questions?
46
THE END
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.