Ver Mensaje Individual
  #27 (permalink)  
Antiguo 03/05/2017, 23:04
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: Implementar TablaHash

Hola CalgaryCorpus intenté hacer esto para el tema de las colisiones:

Código Java:
Ver original
  1. private int getIndex(Object key) {
  2.         int ret = key.hashCode() % table.length;
  3.         if(ret < 0) {
  4.             ret += table.length;
  5.         }
  6.         System.out.println(ret);
  7.         return ret;
  8.     }
  9. private void addEntry(K key, V value){
  10.         if(size >= table.length * 3/4){
  11.             Entry<K,V>[] tmp = table;
  12.             size = 0;
  13.             cap = 2 * cap;
  14.             table = new Entry[cap];
  15.             for(int i = 0; i < cap; i++){
  16.                 table[i] = null;
  17.             }
  18.             for (Entry<K, V> e : tmp) {    
  19.                 if(e != null){
  20.                     put(e.getKey(),e.getValue());
  21.                 }
  22.             } //table = Arrays.copyOf(table, table.length * 2);
  23.         }
  24.         int index = getIndex(key);
  25.         table[index] = new Entry(key, value);
  26.         size++;
  27.     }

Pero me terminó haciendo esto:

run:
1
1
2
2
3
3
0
1
1
2
2
3
3
4

---PROBANDO MAP1---
tamaño -> 4

--valores--

--claves--

--entradas--

¿Que estrategia me dirías para el tema de las colisiones?

Espero sus respuestas y Saludos.