Professional Documents
Culture Documents
Datos
Cursada 2017
Redictado
Prof. Alejandra Schiavoni Prof. Catalina Mostaccio Algoritmos y Estructuras de Datos (Redictado) - 2017
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
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
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