|  
Stored as an (doubly linked) ordered list:
 
 |  
| Operation | Ordered array implementation | Ordered linked list implementation | 
|---|---|---|
| Insert (put(k,v)) | O(n) | O(n) | 
| Lookup (get(k)) | O(log(n)) (bin search) | O(n) | 
| Delete (remove(k)) | O(n) | O(n) | 
 
  |  
Example: 2-dimensional grid structure
 
 |  
Note:
 
  |  
 
 Note: the entry used to compare against the key is: p.right Note: p is initially equal to head 
 
  |  
 
  |  
Example:
 
 |  
(Remember that the top most layer is logical --- it does not exists.)
 
 |  
Note:
 
  |  
 
  |  
 
 |  
Change:
 
  |  
 
  |  
 
  |  
 
  |  
   public static void main(String[] args)
   {
      Random r = new Random();
      double x;
      int n = 0;
      x = r.nextDouble();          // First toss
      n++;
      while ( x < 0.5 )
      {
         x = r.nextDouble();       // Toss again...
         n++;
      }
      System.out.println("# tosses = " + n );         
   }
 |  
        
  
 
  |  
 
  |  
 
 |  
 
 |  
Reason:
 
  |  
 
  |