A Practical Succinct Data Structure for Tree-Like Graphs
Johannes Fischer TU Dortmund, Germany joint work with Daniel Peters (PTB Berlin)
A Practical Succinct Data Structure for Tree-Like Graphs Johannes - - PowerPoint PPT Presentation
A Practical Succinct Data Structure for Tree-Like Graphs Johannes Fischer TU Dortmund, Germany joint work with Daniel Peters (PTB Berlin) leading adj(x,y) neighbours(x) deg(x) terms [bits] n 2 lg arbitrary O(1) O(1) O(#in) or
Johannes Fischer TU Dortmund, Germany joint work with Daniel Peters (PTB Berlin)
leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)
O(#in) or O(#out)
O(1)
lg n2 m
leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)
O(#in) or O(#out)
O(1) x-page 2m + xn O(x) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n)
lg n2 m
leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)
O(#in) or O(#out)
O(1) x-page 2m + xn O(x) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n)
lg n2 m
What if …
What if …
planar/separable/x-page/…
What if …
planar/separable/x-page/…
particular not dense?
What if …
planar/separable/x-page/…
particular not dense?
(m lg n + n lg m bits)
leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)
O(#in) or O(#out)
O(1) k-page 2m + kn O(k) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n) tree-like (lg 3)(m+n) +k lg n O(1)
O(#in) and O(#out)
#out: O(1)
lg n2 m
leading terms [bits] adj(x,y) neighbours(x) deg(x) arbitrary O(1)
O(#in) or O(#out)
O(1) k-page 2m + kn O(k) O(#neighbours) O(1) planar 2(m+n) O(1) triangular 2m+n separable O(n) tree-like (lg 3)(m+n) +k lg n O(1)
O(#in) and O(#out)
#out: O(1)
lg n2 m
1 3 2 4 5 6 7 8 9
1 3 2 4 5 6 7 8 9
1 3 2 4 5 6 7 8 9 3 4 2 4
1 3 2 4 5 6 7 8 9 3 4 2 4
1 3 2 4 5 6 7 8 9 3 4 2 4
1 3 2 4 5 6 7 8 9 3 4 2 4
10
1
1 3 2 4 5 6 7 8 9 3 4 2 4
10 1110
1 1 2 3 4
1 3 2 4 5 6 7 8 9 3 4 2 4
10 1110 20110110
1 1 2 3 4 2 3 5 6 3 7 8 4
1 3 2 4 5 6 7 8 9 3 4 2 4
10 1110 20110110 1022000
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 6 7 8
1 3 2 4 5 6 7 8 9 3 4 2 4
10 1110 20110110 1022000 20
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 7 8 9
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 7 8 9
10111020110110102200020
3 4 2 4
10111020110110102200020
3 4 2 4
n+m trits
10111020110110102200020
3 4 2 4
n+m trits k log n bits
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9 3
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9 3
3 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9 3
3 5 6 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9 3
3
6 5
5 6 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9 6
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
6
6
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
6
6
4 2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
6
6
4 2
2 4
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
7 8
needs rank2
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
4 2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
4 1 2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
4 1
1
2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
4 2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
4 2 6 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
4 2 6
6
7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
2 7 8 4
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
2 7 8 4 9
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
4
2 7 8 4 9
9
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
2 7 8
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 4 6 9
1 3 2 4 5 6 7 8 9
2 7 8
needs selectα
⇒ could be represen- ted as wavelet tree
WebGraph: Boldi/Vigna 2004 WebGraph: Claude/Navarro 2010
Graph Space [MByte] Time for BFT [sec] GLOUDS WebGraph GLOUDS WebGraph amazon-2008 8.551 13.654 0.95 0.86 cnr-2000 3.069 2.765 0.36 0.63 in-2004 15.813 11.231 1.60 1.59 uk-2002 324.108 187.494 32.04 22.96 enwiki-2013 208.896 322.257 5.58 12.57 dblp-2010 0.992 1.752 0.36 0.54 dblp-2011 5.348 8.501 1.18 1.26 hollywood-2011 202.991 18.532 2.59 14.37
WebGraph: Boldi/Vigna 2004 WebGraph: Claude/Navarro 2010
Graph
m n sizeGLOUDS sizeWebGraph
amazon-2008 7.015 0.626 cnr-2000 9.879 1.109 in-2004 12.232 1.408 uk-2002 16.096 1.728 enwiki-2013 24.093 0.648 dblp-2010 4.952 0.566 dblp-2011 6.800 0.628 hollywood-2011 105.003 10.95
10111020110110102200020
1 1 2 3 4 2 3 5 6 3 7 8 4 9 5 4 2 4 6 9
1 3 2 4 5 6 7 8 9
7 8