Advertisement
Guest User

Untitled

a guest
May 19th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement