Lecture Notes on
Restoring Invariants
15-122: Principles of Imperative Computation
Frank Pfenning
Lecture 17
June 13, 2013
1
Introduction
In this lecture we will implement operations on heaps. The the
Lecture Notes on
Union-Find
15-122: Principles of Imperative Computation
Frank Pfenning
Lecture 27
April 28, 2011
1
Introduction
Kruskals algorithm for minimum weight spanning trees starts with a coll
Amortized Analysis
Victor Adamchik
Amortized analysis gives the average performance (over time) of each operation in the
worst case. In a sequence of operations the worst case does not occur often in
Lecture Notes on
Spanning Trees
15-122: Principles of Imperative Computation
Frank Pfenning
Lecture 25
April 26, 2011
1
Introduction
In this lecture we introduce graphs. Graphs provide a uniform model
Lecture Notes on
Generic Data Structures
15-122: Principles of Imperative Computation
Frank Pfenning
Lecture 24
April 7, 2011
1
Introduction
Using void* to represent pointers to values of arbitrary ty
Lecture Notes on
Memory Management
15-122: Principles of Imperative Computation
Frank Pfenning
Lecture 21
April 5, 2011
1
Introduction
Unlike C0 and other modern languages like Java, C#, or ML, C requ
Lecture Notes on
Tries
15-122: Principles of Imperative Computation
Thomas Cortina
Notes by Frank Pfenning
Lecture 24
April 19, 2011
1
Introduction
In the data structures implementing associative arra
Lecture Notes on
AVL Trees
15-122: Principles of Imperative Computation
Frank Pfenning
Lecture 18
March 22, 2011
1
Introduction
Binary search trees are an excellent data structure to implement associa