Eddin Ramirez
unread,Dec 8, 2009, 5:20:00 PM12/8/09Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Estructuras_de_Datos2009
Pregunta1
Yo escojeria la velocidad de búsqueda porque debe tenerse en memoria
principal la página sobre la cual vamos a buscar. Considérese el
elemento a buscar x. Si la búsqueda es infructuosa dentro de la página
se estará en una de las siguientes situaciones:
• ki < x < ki + 1 para 1 ≤i < n. La búsqueda continúa en la página ri.
• kn < x. La búsqueda continúa en la página rn.
• x < k1. La búsqueda continúa en la páginar0. Si en algún caso la
referencia es nula, es decir, si no hay página descendiente, entonces
no hay ningún elemento x en todo el árbol y se acaba la búsqueda.
• Operación “buscar”
• public boolean buscar(Object o)
• {
• if (o.equals(valor))
• return true;
• else if (o.compareTo(valor)<0)
• return buscar(getIzq(),o);
• else return buscar(getDer(),o);
• }
Pregunta 2
Difícilmente se cumple por el problema de colisiones ya que estas
tienen que ser resueltas por una búsqueda lineal y la función tienden
a generar valores similares.
Otro problema es el aglomeraniento cuando las llaves usadas comúnmente
tiendan a caer muy cerca unas de otras o incluso consecutivamente en
la tabla hash y esto degrada el funcionamiento y cuando la tabla se
llena usando ciertas estrategias de resolución de colisiones, como el
sondeo linea
Pregunta 3
import java.util.*;
public class hash {
public static void main (String args[]) throws Exception {
Hashtable hash = new Hashtable(10,10);
for (int i = 0; i <= 100; i++)
{
Integer entero = new Integer ( i );
hash.put( entero, "Numero : " + i);
}
for (Enumeration e = hash.keys(); e.hasMoreElements();)
{
System.out.println (hash.get(e.nextElement()));
}
}