Ver Mensaje Individual
  #21 (permalink)  
Antiguo 01/05/2017, 08:11
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: Implementar TablaHash

Felicitaciones por la publicacion del codigo.
Has pensado en usar github o similar?
No creo que el foro sea la mejor manera de iterar sobre el, en realidad, pues es muy extenso y tal vez no sea de mucha utilidad algo como pastebin una vez que recibas comentarios y decidas cambiarlo.

Ejemplo:
- Elimina de los comentarios que cada metodo empiece con "metodo que ..." o "funcion que ..", es superfluo decirlo.
- Elimina en genral todos los comentarios superfluos o que no aporten a comprender el codigo. Ejemplo de esto es poner como comentario "constructor" al constructor por default.
- Por que tu constructor no pide memoria para la tabla?
- Por que al usar la capacidad de la tabla solo pides memoria para 1 elemento mas. No es razonable aumentar al doble? o aumentar tanto como se pidio al inicio en el constructor?
- Hay errores de tipeo en los comentarios, por ejemplo dice "incremenatamos", "qye"
- Como esta construido el metodo getIndex solo retorna un valor -1 si es que encuentra el objeto al interior, de modo que es superfluo preguntar una vez que usaste ese metodo si es que el objeto es efectivamente el que buscabas, si esto no fuera asi, tu metodo getIndex estaria mal construido.
- capacity no lo usas, eliminalo (o usalo, actualizalo)
- Si existiera una manera magica de que dado un objeto con una clave cualquiera te dijera exactamente donde esta o donde deberia ir, sin tener que recorrer el arreglo, y fuera super rapida, la usarias? Eso es lo que esta detras de hashCode que apareces menospreciando al inicio en el comentario inicial. Si tu arreglo creciera a varios miles de datos la funcion magica se hace mas y mas atractiva.
- getIndex podria terminar antes la iteracion al encontrar el primer null
- al borrar, puesto que no hay orden interno, por que no mueves solo el ultimo elemento a la posicion del que borras, en vez de mover todos 1 lugar?
- Sugiero hacer varias pruebas pequenas en vez de hacer 1 sola gran prueba. Cada prueba es 1 metodo, en cada prueba creas un hashmap, agregas entradas y pruebas que un cierto metodo del hashmap funciono. Cada prueba ejercita 1 cosa, y el resto de las pruebas asumen que lo que ya probaste no hay que probarlo de nuevo. Puedes probar los distintos constructores que provees, pues ahora estas probando solo 1, que pasa cuando usas un tamano explicito?

Una vez que tengas estos comentarios considerados, volveras a publicar en el foro un link a otro sitio? Eso es lo que me parece que no esta bien, pues el foro pierde su valor, no?
__________________
Visita mi perfil en LinkedIn