Unfortunately, we didn’t get to hear about 3SUM today but its good to keep it in the back of your mind.
A great brainstorming session today. We came up with some really interesting problems that might show up on our midterm. Try to think about these or similar problems when writing up your problem for next week’s HW.
Finally, we discussed how the non-linear runtime of Union Find comes about.
Try to cover some of the lemmas in the Analysis of Union-Find chapter in Kozen before next lecture.
We have two new homework assignments for the next couple weeks and I’ll make separate posts for them.
Today we started with Dijkstra’s Algorithm for Single Source Shortest Paths. The reason being that it uses a heap structure to organize nodes that have some minimum distance from the source vertex. The difference is that we need to update (decrement) the value of a vertex in the heap. This is where Fibonacci heaps, which support everything that Binomial heaps do, with the addition of deleting an arbitrary vertex and decrementing the value of an arbitrary vertex.
delete(h, i): O(lg n) (worst case & amortized)
decrement(h, i, D): O(lg n) (worst case) O(1) (amortized)
We didn’t actually cover the structure of Fibonacci heaps, just how we need to modify Binomial heaps to get the bounds we want.
Hopefully, we’ll finish Fibonacci heaps on Wednesday. Don’t forget HW2 is due next lecture as well.
The midterm will be Wednesday, February 22, 2012.