Documentos de Académico
Documentos de Profesional
Documentos de Cultura
return altura;
d. antecessor(x): retorna el mayor valor en el árbol menor que x, o null si dicho valor no existe.
e. successor(x): retorna el menor valor en el árbol mayor que x, o null si dicho valor no existe.
f. isComplete(): retorna verdadero si el árbol es completo, y falso en caso contrario.
g. equals(tree): retorna verdadero si la estructura y valores en el BST tree son iguales a los del objeto
que hace la invocación.
2. Sea T un árbol binario conteniendo valores Character. Escriba una función que reciba como entrada dos
cadenas correspondientes a los recorridos inorden y postorden de T, y retorne una cadena que contenga su
recorrido en preorden.
preorden(list, root);
return list;
list.add(node.data);
preorden(list, node.left);
preorden(list, node.right);
inorden(list, root);
return list;
inorden(list, node.left);
list.add(node.data);
inorden(list, node.right);
return list;
posorden(list, node.left);
posorden(list, node.right);
list.add(node.data);
3. a. Cree la clase RandomizedBinaryTree que contenga el método add(x, root), el cual implementa el
siguiente algoritmo de inserción:
Inserte los números naturales de 1 a 1000 en un RandomizedBinaryTree y calcule la altura del árbol
resultante. Repita este experimento 10000 veces. ¿Cuál es la altura promedio de los árboles generados? ¿Qué
puede concluir de dicho promedio?
int altura;
class Node {
T data;
Node left;
Node right;
Node root;
public void add(T x) {
node.data = x;
if (root == null)
root = node;
else {
while(cur!=null){
if (gen.nextInt(2)==0) {
ant_cur=cur;
cur=cur.left;
else {
ant_cur=cur;
cur=cur.right;
altura = 0;
getAltura(root, 1);
return altura;
if (reco != null) {
altura = nivel;
int suma=0;
p.add(j);
alturas.add(p.getAltura());
Iterator<Integer> it = alturas.iterator();
while (it.hasNext()){
int x = it.next();
suma+=x;
}
System.out.println(suma/alturas.size());
}
4. Para cada permutación P de {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
--toSwap;
toSwap = c.length - 1;
return c;
if ( c[ i ].compareTo( c[ i + 1 ] ) < 0 )
return i;
return -1;