72 lines
2.9 KiB
Text
72 lines
2.9 KiB
Text
0 1 2 3 4 5 6 7 8 9 0
|
|
X
|
|
X X
|
|
X X X
|
|
X - X X
|
|
X - X X X
|
|
X - X - X X
|
|
X - X - X X X
|
|
X - X - X - X X
|
|
X - X - X - X X X
|
|
X - - - X - X - X X
|
|
when 4 in a row, delete 2nd
|
|
|
|
0 1 2 3 4 5 6 7 8 9 0
|
|
1
|
|
1 1
|
|
1 1 1
|
|
2 - 1 1
|
|
2 - 1 1 1
|
|
2 - 2 - 1 1
|
|
2 - 2 - 1 1 1
|
|
2 - 2 - 2 - 1 1
|
|
2 - 2 - 2 - 1 1 1
|
|
3 - - - 2 - 2 - 1 1
|
|
3 - - - 2 - 2 - 1 1 1
|
|
3 - - - 2 - 2 - 2 - 1 1
|
|
3 - - - 2 - 2 - 2 - 1 1 1
|
|
3 - - - 3 - - - 2 - 2 - 1 1
|
|
3 - - - 3 - - - 2 - 2 - 1 1 1
|
|
3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
|
3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 1 1 1
|
|
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1
|
|
4 - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 3 - - - 2 - 2 - 2 - 1 1 1
|
|
5 - - - - - - - - - - - - - - - 4 - - - - - - - 4 - - - - - - - 3 - - - 3 - - - 2 - 2 - 1 1
|
|
|
|
|
|
The amount of data used, compared to data requested to save... is at most 3 * log2(n)
|
|
In other words, you can "save" 10000 data points, and have the algorithm back up only 3 * log2(n) of them
|
|
This means that... we can back up the server. Every hour. Every day. For 40 years. And only use 20 storage slots
|
|
|
|
Problem is that inserting a new element may cause a chain reactin where data gets deleted and deleted. At worst case, it could be log(n)
|
|
If deleting server backups take time... then we should probably run server backups asyncronously or at off-hours of the server time
|
|
Still, this backup method is incredibly helpful.
|
|
2^n / 3
|
|
|
|
|
|
|