Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.71 KB | None | 0 0
  1. import java.io.*;
  2.  
  3. import java.util.Arrays;
  4. import java.util.stream.Collectors;
  5.  
  6. class TablicaHash {
  7. static int m = 13; // wielkosc Tablicicy
  8.  
  9. // haszowanie modularne
  10. static int h1(int k) {
  11. return k % m;
  12. }
  13.  
  14. static int h2(int k) {
  15. return 1 + (k % (m - 2));
  16. }
  17.  
  18. // adresowanie liniowe
  19. static int H(Integer A[], int k, int index) {
  20. return (h1(k) + index) % m;
  21. }
  22.  
  23. // haszowanie dwukrotne
  24. static int H2(Integer A[], int k, int index) {
  25. return (h1(k) + index * index) % m;
  26. }
  27.  
  28. static int H3(Integer A[], int k, int index) {
  29. return (h1(k) + index * h2(k)) % m;
  30. }
  31.  
  32. static void funkcja(Integer A[], int k) {
  33. int index = 0;
  34. int adres = H(A, k, index);
  35. System.out.print("Liczba: " + k);
  36. System.out.print(" ,adres: " + adres);
  37. while (A[adres] != null) {
  38. index++;
  39. adres = H(A, k, index);
  40. System.out.print(" ,adres: " + adres);
  41. }
  42. A[adres] = k;
  43. System.out.println();
  44. }
  45.  
  46. static int szukajFunkcja(Integer A[], int k) {
  47. int index = 0;
  48. int adres = H(A, k, index);
  49. while (A[adres] != null && A[adres] != k) {
  50. index++;
  51. adres = H(A, k, index);
  52. }
  53. if(A[adres] == null) {
  54. System.out.println("Szukam: " + k + " , nie znalazlem");
  55. return -1;
  56. } else {
  57. System.out.println("Szukam: " + k + " , znalazlem, adres: " + adres);
  58. return adres;
  59. }
  60. }
  61.  
  62. static void usunFunkcja(Integer A[], int k) {
  63. int value = szukajFunkcja(A, k);
  64. if(value != -1) {
  65. A[value] = -1;
  66. System.out.println("Usunalem "+ k);
  67. } else {
  68. System.out.println("Nie usunalem " + k);
  69. }
  70. }
  71.  
  72. static void funkcja2(Integer A[], int k) {
  73. int index = 0;
  74. int adres = H2(A, k, index);
  75. System.out.print("Liczba: " + k);
  76. System.out.print(" ,adres: " + adres);
  77. while (A[adres] != null) {
  78. index++;
  79. adres = H2(A, k, index);
  80. System.out.print(" ,adres: " + adres);
  81. }
  82. A[adres] = k;
  83. System.out.println();
  84. }
  85.  
  86. static int szukajFunkcja2(Integer A[], int k) {
  87. int index = 0;
  88. int adres = H2(A, k, index);
  89. while (A[adres] != null && A[adres] != k) {
  90. index++;
  91. adres = H2(A, k, index);
  92. }
  93. if(A[adres] == null) {
  94. System.out.println("Szukam: " + k + " , nie znalazlem");
  95. return -1;
  96. } else {
  97. System.out.println("Szukam: " + k + " , znalazlem, adres: " + adres);
  98. return adres;
  99. }
  100. }
  101.  
  102. static void usunFunkcja2(Integer A[], int k) {
  103. int value = szukajFunkcja2(A, k);
  104. if(value != -1) {
  105. A[value] = -1;
  106. System.out.println("Usunalem "+ k);
  107. } else {
  108. System.out.println("Nie usunalem " + k);
  109. }
  110. }
  111.  
  112. static void funkcja3(Integer A[], int k) {
  113. int index = 0;
  114. int adres = H3(A, k, index);
  115. System.out.print("Liczba: " + k);
  116. System.out.print(" ,adres: " + adres);
  117. while (A[adres] != null) {
  118. index++;
  119. adres = H3(A, k, index);
  120. System.out.print(" ,adres: " + adres);
  121. }
  122. A[adres] = k;
  123. System.out.println();
  124. }
  125.  
  126. static int szukajFunkcja3(Integer A[], int k) {
  127. int index = 0;
  128. int adres = H3(A, k, index);
  129. while (A[adres] != null && A[adres] != k) {
  130. index++;
  131. adres = H3(A, k, index);
  132. }
  133. if(A[adres] == null) {
  134. System.out.println("Szukam: " + k + " , nie znalazlem");
  135. return -1;
  136. } else {
  137. System.out.println("Szukam: " + k + " , znalazlem, adres: " + adres);
  138. return adres;
  139. }
  140. }
  141.  
  142. static void usunFunkcja3(Integer A[], int k) {
  143. int value = szukajFunkcja3(A, k);
  144. if(value != -1) {
  145. A[value] = -1;
  146. System.out.println("Usunalem "+ k);
  147. } else {
  148. System.out.println("Nie usunalem " + k);
  149. }
  150. }
  151.  
  152. public static void main(String[] args) {
  153.  
  154. Integer A[] = new Integer[m];
  155. funkcja(A, 6);
  156. funkcja(A, 19);
  157. funkcja(A, 28);
  158. funkcja(A, 41);
  159. funkcja(A, 54);
  160.  
  161. usunFunkcja(A, 41);
  162. szukajFunkcja(A, 54);
  163.  
  164. System.out.println(Arrays.toString(A));
  165.  
  166. Integer B[] = new Integer[m];
  167. funkcja2(B, 6);
  168. funkcja2(B, 19);
  169. funkcja2(B, 28);
  170. funkcja2(B, 41);
  171. funkcja2(B, 54);
  172. funkcja2(B, 67);
  173.  
  174. usunFunkcja2(B, 54);
  175. szukajFunkcja2(B, 67);
  176.  
  177. System.out.println(Arrays.toString(B));
  178.  
  179. Integer C[] = new Integer[m];
  180. C[11]=50;
  181. C[4]=69;
  182. C[7]=72;
  183. C[1]=79;
  184. C[5]=98;
  185. funkcja3(C, 14);
  186.  
  187. usunFunkcja3(C, 98);
  188. szukajFunkcja3(C, 14);
  189.  
  190. System.out.println(Arrays.toString(C));
  191. }
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement