Anda di halaman 1dari 14

Algoritmos y Estructuras de

Datos
Cursada 2017
Redictado

Prof. Alejandra Schiavoni (ales@info.unlp.edu.ar)

Prof. Catalina Mostaccio (catty@lifia.info.unlp.edu.ar)

Prof. Pablo Iuliano (piuliano@info.unlp.edu.ar)


rboles Generales
Generales

Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Ejercicios

1) Cuntos niveles tiene el rbol?

2) Cuntos nodos hay en cada nivel


del rbol?

3) Cuntos nodos hay en el nivel k


del rbol?
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin de Ejercicios

B C D

E F G H I

J K

Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 1 A

Seudocdigo Ejerc1-Niveles { C D
B
q: cola de vrtices; E F G H I
encolar raz R en q;
J K
mientras (cola no se vace) {
desencolar v de q;
imprimir (dato de v);
para cada hijo w de v
encolar w en q; }
}
A B C D E F G H I J K Cola
A B C D E F G H I J K Salida
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Recorrido por niveles
A
Seudocdigo Recorrido_Niveles {
C D
q: cola de vrtices; B

E F G H
encolar raz R en q; I

mientras (cola no se vace){ J K

desencolar v de q;
imprimir (dato de v);
para cada hijo w de v
encolar w en q;
}
} A B C D E F G H I J K

Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Ejercicio

Cuntos niveles tiene el rbol?


En el recorrido por niveles no se distingue a
qu nivel pertenece cada nodo
Necesito llevar un control de los niveles

Inserto una marca al finalizar cada nivel


Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 1 A
??

Seudocdigo Ejerc1-Niveles { C D ??
B
q: cola de vrtices; E F G H I ??
encolar raz R en q; encolar ?? en q
J K ??
mientras (cola no se vace) {
desencolar v de q;
si (dato de v es ??) encolar ?? en q
imprimir (dato de v);
Ojo ! Podra imprimir ??
para cada hijo w de v
encolar w en q; }
?? } ?? ?? ??
A B C D E F G H I J K Cola
A B C D Salida
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 1
A
Seudocdigo Ejerc1-Niveles {
B C D
q: cola de vrtices;
encolar raz R en q; encolar ?? en q E F G H I
mientras (cola no se vace) {
J K
desencolar v de q;
si (dato de v es ??) encolar ?? en q
sino
imprimir (dato de v);
para cada hijo w de v
encolar w en q; }
?? } ?? ?? ??
A B C D E F G H I J K
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 1
Seudocdigo Ejerc1-Niveles {
q: cola de vrtices;
encolar raz R en q; encolar ?? en q;
mientras (cola no se vace) {
& q no vaca)
desencolar v de q;
si (dato de v es ?? encolar ?? en q
sino
si (dato de v no es ??)
imprimir (dato de v);
para cada hijo w de v
encolar w en q; }
}
?? ?? ?? ?? ??
A B C D E F G H I J K
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 1
Seudocdigo Ejerc1-Niveles {
q: cola de vrtices;
encolar raz R en q; encolar ?? en q;
cantNiveles = 0;
mientras (cola no se vace) {
desencolar v de q;
si (dato de v es ?? & q no est vaca) {
encolar ?? en q;
sino cantNiveles ++; }
si (dato de v no es ??) {
imprimir (dato de v);
para cada hijo w de v
encolar w en q; }
} return catNiveles++;
}
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 2
Seudocdigo Ejerc2-Niveles {
q: cola de vrtices; cantNodos: array de enteros;
encolar raz R en q; encolar ?? en q;
nroNivel = 0;
mientras (cola no se vace) {
desencolar v de q;
si (dato de v es ?? & q no est vaca) {
encolar ?? en q;
nroNivel ++; }
sino
si (dato de v no es ??) {
imprimir (dato de v);
cantNodos[nroNivel]++;
para cada hijo w de v
encolar w en q; }
}
}
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 3
Seudocdigo Ejerc3-Niveles (int k) {
q: cola de vrtices; nroNivel = 0;
encolar raz R en q; encolar ?? en q; cantNodos = 0;
mientras (cola no se vace) {
desencolar v de q;
si (dato de v es ?? & q no est vaca) {
encolar ?? en q; nroNivel ++ };
sino
si (dato de v no es ??) {
imprimir (dato de v); /*Contar la cantidad de
si (nroNivel == k) nodos en el nivel k */
para cada hijo w de v cantNodos++;
encolar w en q; }
}
}
return cantNodos;

Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
Resolucin del Ejercicio 3
Seudocdigo Ejerc3-Niveles (int k) {
q: cola de vrtices; nroNivel=0; cantNodos=0;
encolar raz R en q; encolar ?? en q;
mientras (cola no se vace) {
desencolar v de q;
si (dato de v es ?? & q no est vaca){
encolar ?? en q;
nroNivel++;}
sino
si (dato de v no es ??)
si (nroNivel==k)
mientras (dato de v no es ??)
{cantNodos++;
desencolar v de q;}
sino para cada hijo w de v
encolar w en q;
}
return cantNodos;
} Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017