lec13

lec13 - Introduction to Algorithms 6.046J/18.401J LECTURE...

Info iconThis preview shows pages 1–15. Sign up to view the full content.

View Full Document Right Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.1 Introduction to Algorithms 6.046J/18.401J L ECTURE 13 Amortized Analysis Dynamic tables Aggregate method Accounting method Potential method Prof. Charles E. Leiserson
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.2 How large should a hash table be? Goal: Make the table as small as possible, but large enough so that it won’t overflow (or otherwise become inefficient). Problem: What if we don’t know the proper size in advance? I DEA : Whenever the table overflows, “grow” it by allocating (via malloc or new ) a new, larger table. Move all items from the old table into the new one, and free the storage for the old table. Solution: Dynamic tables.
Background image of page 2
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.3 Example of a dynamic table 1. I NSERT 1 2. I NSERT overflow
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.4 Example of a dynamic table 1. I NSERT 1 1 2. I NSERT overflow
Background image of page 4
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.5 Example of a dynamic table 1. I NSERT 1 1 2. I NSERT 2
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.6 Example of a dynamic table 1. I NSERT 1 1 2. I NSERT 2 2 3. I NSERT overflow
Background image of page 6
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.7 Example of a dynamic table 1. I NSERT 2 1 2. I NSERT 3. I NSERT overflow
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.8 Example of a dynamic table 1. I NSERT 1 2. I NSERT 2 3. I NSERT
Background image of page 8
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.9 Example of a dynamic table 1. I NSERT 2. I NSERT 3. I NSERT 4. I NSERT 4 3 2 1
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.10 Example of a dynamic table 1. I NSERT 1 2. I NSERT 2 3 3. I NSERT 4. I NSERT 5. I NSERT 4 overflow
Background image of page 10
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.11 Example of a dynamic table 1. I NSERT 2. I NSERT 4 3 2 1 3. I NSERT 4. I NSERT 5. I NSERT overflow
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.12 Example of a dynamic table 1. I NSERT 2. I NSERT 1 2 3 3. I NSERT 4. I NSERT 5. I NSERT 4
Background image of page 12
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.13 Example of a dynamic table 1. I NSERT 2. I NSERT 3. I NSERT 4. I NSERT 6. I NSERT 6 5. I NSERT 5 4 3 2 1 7 7. I NSERT
Background image of page 13

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
October 31, 2005 Copyright © 2001-5 by Erik D. Demaine and Charles E. Leiserson L13.14 Worst-case analysis Consider a sequence of n insertions. The worst-case time to execute one insertion is Θ ( n ) . Therefore, the worst-case time for n insertions is n · Θ ( n ) = Θ ( n 2 ) . WRONG! In fact, the worst-case cost for n insertions is only Θ ( n ) Θ ( n 2 ) .
Background image of page 14
Image of page 15
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 42

lec13 - Introduction to Algorithms 6.046J/18.401J LECTURE...

This preview shows document pages 1 - 15. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online