Lecture 9
description
Transcript of Lecture 9
![Page 1: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/1.jpg)
Lecture 9
CSE 331Sep 19, 2011
![Page 2: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/2.jpg)
6 more to go…
I’ll need confirmation in writing. No graded material will be handed back tillI get this signed form from you!
![Page 3: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/3.jpg)
Clarification on HW hints
Hint points to just one way of solving the problem
![Page 4: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/4.jpg)
Reading Assignments
Sections 1.2, 2.1, 2.2 and 2.4 in [KT]
![Page 5: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/5.jpg)
Asymptotic Notation
≤ is O with glasses
≥ is Ω with glasses
= is Θ with glasses
![Page 6: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/6.jpg)
Run time of an algorithm
(Worst-case) run time T(n) for input size n
Maximum number of steps taken by the algorithm for any input of size n
![Page 7: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/7.jpg)
g(n) is O(f(n))
g(n)
n0
c*f(n) for some c>0
n
![Page 8: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/8.jpg)
g(n) is Ω(f(n))
g(n)
n1
n
ε*f(n) for some ε>0
![Page 9: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/9.jpg)
g(n) is Θ(f(n))g(n) is O(f(n)) AND g(n) is Ω(f(n))
g(n)
n0
c*f(n) for some c>0
n
ε*f(n) for some ε>0
n1
![Page 10: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/10.jpg)
For the find algo from last lecture
T(n) is Θ(n)
![Page 11: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/11.jpg)
Questions?
![Page 12: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/12.jpg)
Today’s agenda
Analyzing the running time of the GS algo
![Page 13: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/13.jpg)
Gale-Shapley AlgorithmIntially all men and women are free
While there exists a free woman who can propose
Let w be such a woman and m be the best man she has not proposed to
w proposes to m
If m is free
(m,w) get engaged
Else (m,w’) are engaged
If m prefers w’ to w
w remains freeElse
(m,w) get engaged and w’ is free
Output the engaged pairs as the final output
![Page 14: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/14.jpg)
Implementation Steps
How to represent the input?
How do we find a free woman w?
How would w pick her best unproposed man m?
How do we know who m is engaged to?
How do we decide if m prefers w’ to w?
![Page 15: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/15.jpg)
Arrays and Linked Listsn numbers a1,a2,…,an
a1
a2
a3
an
1
2
3
n
a1 a2 a3an
FrontLast
Array Linked List
Access ith element O(1) O(i)
Is e present? O(n) (O(log n) if sorted) O(n)
Insert an element O(n) O(1) given pointer
Delete an element O(n) O(1) given pointer
Static vs Dynamic Static Dynamic
![Page 16: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/16.jpg)
Today’s agenda
O(n2) implementation of the Gale-Shapley algorithm
More practice with run time analysis
![Page 17: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/17.jpg)
Gale-Shapley AlgorithmIntially all men and women are free
While there exists a free woman who can propose
Let w be such a woman and m be the best man she has not proposed to
w proposes to m
If m is free
(m,w) get engaged
Else (m,w’) are engaged
If m prefers w’ to w
w remains freeElse
(m,w) get engaged and w’ is free
Output the engaged pairs as the final output
At most n2 iterationsAt most n2 iterations
O(1) time implementation
O(1) time implementation
![Page 18: Lecture 9](https://reader036.fdocuments.net/reader036/viewer/2022062804/568148f9550346895db6209a/html5/thumbnails/18.jpg)
Time to convert from array to linked list and vice versa?