3.31

From The Algorithm Design Manual Solution Wiki
Jump to navigation Jump to search

Init:

 k=0

Insert X:

 k = k+1; 
 A[X] = k; 
 B[k] = X;

Search X:

 return (A[X] < k) and (B[A[X]] == X)

Delete X:

 A[B[k]] = A[X]; 
 B[A[X]] = B[k]; 
 k = k-1;

Please note that this data structure doesn't support inserting the same X more than once.


Back to Chapter 3