daily pastebin goal
33%
SHARE
TWEET

Untitled

a guest May 19th, 2017 44 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package perfectHashing;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.File;
  5. import java.io.FileReader;
  6. import java.util.ArrayList;
  7.  
  8. public class QuadraticSoln implements IPerfectHashing ,IHashing{
  9.    int[]table;
  10.   private Integer[][]hashFunction;
  11.   private Integer[][]xMatrix;
  12.   private UniversalHashing universal;
  13.   private int  recontructionCounter = 0;
  14.  
  15.   public  QuadraticSoln() {
  16.      
  17.   }
  18.  
  19.     @Override
  20.     public void createTable(ArrayList<Integer> elements) {
  21.         recontructionCounter = 0;
  22.         universal = new UniversalHashing();
  23.         hashFunction = universal.randomMatrix((elements.size()*elements.size()));
  24.         table =new int[elements.size()*elements.size()];
  25.         int counter =0;
  26.         int index=0;
  27.         boolean out = false;
  28.         while(counter < elements.size()){
  29.             xMatrix = universal.XMatrix(elements.get(counter));
  30.             index= universal.addressMatrix(hashFunction, xMatrix);
  31.             for (int i = 0; i < table.length; i++) {
  32.                 //System.out.println(table[i]);
  33.                 table[i]=-1;
  34.             }
  35.             //System.out.println("jjjjjjjjjjjjjjjjj "+table.length);
  36.             if (table[index] == -1) {
  37.                 System.out.println("m");
  38.                 table[index] = elements.get(counter);
  39.             }else{
  40.                 //System.out.println("llllllllllllllllllll");
  41.                 recontructionCounter++;
  42.                 out = true;
  43.                 break;
  44.             }
  45.         }
  46.         if ( !out ){
  47.             return;
  48.         }else{
  49.             createTable(elements);
  50.             out = false;
  51.         }
  52.        
  53.        
  54.        
  55.     }
  56.  
  57.     @Override
  58.     public boolean search(Integer key) {
  59.         xMatrix = universal.XMatrix(key);  
  60.          int index= universal.addressMatrix(hashFunction, xMatrix);
  61.         if (table[index] == -1) {
  62.             return false;
  63.         }else{
  64.             return true;
  65.         }
  66.        
  67.        
  68.     }
  69.  
  70.     @Override
  71.     public int numOfRecontruction() {
  72.         // TODO Auto-generated method stub
  73.         return recontructionCounter;
  74.     }
  75.  
  76. }
RAW Paste Data
Top