CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data...

21
CSE 250 CSE 250 February 16 - 20, 2009

Transcript of CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data...

Page 1: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

CSE 250CSE 250February 16 - 20, 2009

Page 2: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

AnnouncementsAnnouncements2/16 – In-lab Exercise 3 due3/4 - Exam 2

Data Structures 1, 2, 3 are due Friday 3/6. However, those projects will not be considered late as long as they are turned in by the end of the day 3/15.

Page 3: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

AnnouncementsAnnouncementsUsing Web-CAT to submit your

assignmentsData Structures 1, 2, and 3 will

need to be submitted using Web-CAT, a new online submission mechanism. Please see ◦http://www.cse.buffalo.edu/faculty/

adrienne/SP2009/cse250/Lectures/SubmissionUsingWeb-CAT.ppt

Page 4: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

RecursionRecursionWhat do we know about

recursion?

A recursive function is one that calls itself. Recursive functions have:◦One or more base cases◦A recursive case

Page 5: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 6: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

Recursive Linear SearchRecursive Linear Searchpublic int linearSearch(Collection<E> items, E toFind,

int index) {

if(items.isEmpty()) return -1;

else if(items[index] == toFind) return index;

else return linearSearch(items, toFind, index+1);

}

Page 7: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

Binary SearchBinary Search

int binarySearch(Collection<Elem_Type> items, Elem_Type searchItem)

{

if(items.isEmpty()) return -1; else return binarySearchHelper(items, itemToLookFor, 0,

items.size());}

Page 8: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

Binary Search HelperBinary Search Helperint binarySearchHelper(Collection<Elem_Type> items,

Elem_Type searchItem, int start,

int end){if(start > end)return -1;

else { int mid = start+end /2; if(items[mid] == itemToLookFor) return mid; else if (items[mid] < itemToLookFor) return binarySearchHelper(items, itemToLookFor,

mid+1,end); else return binarySearchHelper(items, itemToLookFor,

start, mid-1); }

}

Page 9: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

Test CasesTest CasesCome up with test cases for binary search

Page 10: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 11: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

Trace ThroughTrace ThroughTrace through test cases to

uncover errors (code printed on previous slides fixes errors we found in lecture).

Are there more? More testing could reveal more…

Page 12: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 13: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.

Heaps / Priority QueuesHeaps / Priority Queues

Page 14: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 15: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 16: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 17: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 18: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 19: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 20: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.
Page 21: CSE 250 February 16 - 20, 2009. Announcements 2/16 – In-lab Exercise 3 due 3/4 - Exam 2 Data Structures 1, 2, 3 are due Friday 3/6. However, those projects.