Searching
  | 
                        
                        
                          
                            - Two steps: filter (prune most of database) and refine ( find true answers)
 
                            | 
                        
                        
                           | 
                        
                        
                          |   | 
                           | 
                        
                        
                          |   | 
                            | 
                          
                            - Compute lower bounds for data points using cells
 
                            | 
                        
                        
                          |   | 
                            | 
                          
                            - If lower bound 
    , prune 
                            | 
                        
                        
                          |   | 
                           | 
                          
                        
                          |   | 
                            | 
                          
                            - Find actual distances for candidates not pruned in filter step
 
                            | 
                        
                        
                          
                            - Nearest neighbor searching
 
                            | 
                          
                        
                          |   | 
                           | 
                          
                        
                          |   | 
                            | 
                          
                            - Compute lower and upper bounds for data points using cells
 
                            | 
                        
                        
                          |   | 
                            | 
                          
                            - If lower bound 
  upper bound of some other, prune 
                            | 
                        
                        
                          |   | 
                           | 
                          
                        
                          |   | 
                            | 
                          
                            - Find actual distances in increasing order of lower bound for candidates not pruned in filter step
 
                            | 
                        
                        
                          |   | 
                            | 
                          
                            - If lower bound 
  actual distance of some other, prune 
                            |