Warm up Why is an algorithm’s space complexity (how much memory it uses) important? Why might a memory-intensive algorithm be a “bad” one?
1
CS4102 Algorithms Summer 2020 Warm up Why is an algorithms space - - PowerPoint PPT Presentation
CS4102 Algorithms Summer 2020 Warm up Why is an algorithms space complexity (how much memory it uses) important? Why might a memory- intensive algorithm be a bad one? 1 Why lots of memory is bad 2 Greedy Algorithms Require
1
2
3
4
5
6
CPU, registers Cache Disk If not look here Hopefully your data in here Hope it’s not here Access time: 1 cycle Access time: 10 cycles Access time: 1,000,000 cycles
7
8
9
A B C
10
A B C A B C
11
A B C A B C A B C
12
A B C
A B C A B C A B C
13
D B C
A B C A B C A B C A B C
14
A B D
A B C A B C A B C A B C
15
A B C A B C A B C A B C D B C D B C A B C A B C
16
17
A B C Evict C A B C A B C A B C
18
A B D A B C A B C A B C A B D A B D A B D Evict B
19
A B D A B C A B C A B C A B D A B D A E D A E D A E D A E D Evict D
20
A B D A B C A B C A B C A B D A B D A E D A E D A E D A E B A E B A E B A E B Evict B
21
A B D A B C A B C A B C A B D A B D A E D A E D A E D A E B A E B A E B A E C A E C A E C
22
23
24
25
Agrees with 𝑇𝑔𝑔 on first 0 accesses
Agrees with 𝑇𝑔𝑔 on first access Agrees with 𝑇𝑔𝑔 on first 2 accesses
Agrees with 𝑇𝑔𝑔 on all 𝑜 accesses Lemma Lemma Lemma Lemma Optimal Greedy
26
First 𝑗 accesses
𝑇𝑗 Cache after 𝑗
27
𝑇𝑔𝑔 Cache after 𝑗
𝑔 𝑓 𝑔 𝑓 𝑇𝑗+1 Cache after 𝑗 𝑔 𝑓 𝑒 𝑒 𝑒
𝑇𝑗 Cache after 𝑗
28
𝑇𝑔𝑔 Cache after 𝑗
𝑔 𝑓 𝑔 𝑓
𝑇𝑗+1 Cache after 𝑗 𝑒 𝑓
𝑇𝑗 Cache after 𝑗
29
𝑇𝑔𝑔 Cache after 𝑗
𝑔 𝑓 𝑔 𝑓
𝑇𝑗 Cache after 𝑗 + 1 𝑇𝑔𝑔 Cache after 𝑗 + 1
𝑔 𝑒 𝑒 𝑓
30
First 𝑗 accesses
31
First 𝑗 accesses
Copy 𝑇𝑗
32
First 𝑗 accesses
Copy 𝑇𝑗
33
𝑇𝑗 Cache after 𝑢 − 1 𝑇𝑗+1 Cache after 𝑢 − 1
𝑔 𝑒 𝑒 𝑓
𝑦 𝑦 𝑓 𝑔
34
First 𝑗 accesses
Copy 𝑇𝑗
35
36
First 𝑗 accesses
Copy 𝑇𝑗
37
𝑇𝑗 Cache after 𝑢 − 1 𝑇𝑗+1 Cache after 𝑢 − 1
𝑔 𝑒 𝑒 𝑓
𝑦 𝑦
38
Agrees with 𝑇𝑔𝑔 on first 0 accesses
Agrees with 𝑇𝑔𝑔 on first access Agrees with 𝑇𝑔𝑔 on first 2 accesses
Agrees with 𝑇𝑔𝑔 on all 𝑜 accesses Lemma Lemma Lemma Lemma
39
40
10 2 6 11 9 5 8 3 7 3 1 8 12 9
41
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
𝑊 = {𝐵, 𝐶, 𝐷, 𝐸, 𝐹, 𝐺, 𝐻, 𝐼, 𝐽} 𝐹 = { 𝐵, 𝐶 , 𝐵, 𝐷 , 𝐶, 𝐷 , … }
42
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H A B C D E F G H I B C A C E A B D F C E F B D G H C D G E F H I E G I G H
43
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H A B C D E F G H I
A B C D E F G H I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
44
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
45
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
46
10 11 9 5 3 7 3 12 A B C D E F G I H
47
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
How many edges does 𝑈 have?
𝑊 − 1
48
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
𝑓∈𝐹𝑈
How many edges does 𝑈 have?
𝑊 − 1
49
50
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
51
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
52
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
53
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
54
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
55
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
56
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
57
58
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
59
𝑇
60
𝑤2 𝑤1 𝑇
61
𝑤2 𝑤1 𝑇
62
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
𝑇
63
10 2 6 11 9 5 8 3 7 3 1 8 12 9 A B C D E F G I H
64
10 2 7 11 9 5 6 3 7 3 1 8 12 9 A B C D E F G I H
65
10 2 7 11 9 5 6 3 7 3 1 8 12 9 A B C D E F G I H
66
10 2 7 11 9 5 6 3 7 3 1 8 12 9 A B C D E F G I H
67
10 2 7 11 9 5 6 3 7 3 1 8 12 9 A B C D E F G I H
68
10 2 7 11 9 5 6 3 7 3 1 8 12 9 A B C D E F G I H
69
10 2 7 11 9 5 6 3 7 3 1 8 12 9 A B C D E F G I H
70