Slide 1

Slide 1 text

EliasFano   10th StringBeginners   → Kanda → K and A → K & A → K ampersand A → 

Slide 2

Slide 2 text

 ⟫  × "$& n '% S[0,n) × i.e., S[i-1] ≤ S[i] for each 0 < i < n ⟫ ! × Access / Predecessor / Successor ( ×   #( 2 0 1 2 3 4 5 6 7 S 2 7 18 28 42 43 44 59 Access(4) = 42 Predecessor(10) = 7 Successor(43) = 44

Slide 3

Slide 3 text

EliasFano 3 S 2 7 18 28 42 43 44 59 000 000 010 011 101 101 101 111  n = 8 u  log $ log % & 010 111 010 100 010 011 100 011 2 1 3 1 1 001 100 110 0 0 0  log  H = 110 0 10 10 0 1110 0 10 2 0 1 1 0 0 1 3 ( ) L = 010 111 010 100 010 011 100 011 ()

Slide 4

Slide 4 text

 2" + " log ' (  4 L = 010 111 010 100 010 011 100 011 H = 110 0 10 10 0 1110 0 10 0 1 2 3 4 5 6 7 S 2 7 18 28 42 43 44 59 EliasFano log ) " " log ' (   " 2"    2 *+, ( ≈ "

Slide 5

Slide 5 text

2" + " log ' (  "6 ⟫  [0,u) 2 n (,/ (i.e. 4) -) #. % $*0+3 6 5 S 2 4 5 8 9 0010110011 2 45 89 n  5'& 2 u  ' ( 1  5!5    3 log ' ( 

Slide 6

Slide 6 text

2" + " log ' (  4 ⟫  [0,u) 1 n *- +& !, # "'.(2 4 6 S 2 4 4 5 8 9 0010011010001010 2 5 ')( ( /  33 (0)) 44 8 9   n  3%$1 u+n  Less than half a bit per element away (Quasi-succinct) 2 log ')( ( ≈ " log ')( ( 

Slide 7

Slide 7 text

 ⟫ Access(i) = S[i] ⟫ Predecessor(x) = max{S[i] : S[i] ≤ x} ⟫ Successor(x) = min{S[i] : S[i] > x} 7 O(1)  O(log $ % )  0 1 2 3 4 5 6 7 S 2 7 18 28 42 43 44 59 Access(4) = 42 Predecessor(10) = 7 Successor(43) = 44

Slide 8

Slide 8 text

Access&O(1) $ ⟫ &Access(4) = 42 = 101 0102 8 L = 010 111 010 100 010 011 100 011 H = 110 0 10 10 0 1110 0 10 ①  !"# $ %   i !   Select1 (4) – 4 = 9 – 4 = 5 = 1012 ②  !"# %   Select1 (i) – i     H  Select " o(n)   Selectb (H, i)&H  i !   b #  %

Slide 9

Slide 9 text

SuccessorO(log $ % )  ⟫ Successor(43) = 44 = 101 1002 9 L = 010 111 010 100 010 011 100 011 H = 110 0 10 10 0 1110 0 10 Select0 (4) = 8 Select0 (5) = 12 log $ % = 3 3 × (Select0 (4) – 4) = 12 3 × (Select0 (5) – 5) = 21 101 0112 5 ②   O(&'( ) * )  ① &'( *   Select 

Slide 10

Slide 10 text

/6  EliasFano7) ⟫  # (;+'  AA × 10%?*& × =98. "  × TRIE 2! × 3<5,4!@: -> 10  10 7 5 0 1 4 8 6 9 3 a t e t a a t e c c 2  $A