Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

UNIDAD 4 DE ESTRUCTURA DE DATOS, Ejercicios de Programación C

ÁRBOLES, ES SOBRE LA UNIDAD 4 DE LA MATERIA DE ESTRUCTURA DE DATOS.

Tipo: Ejercicios

2020/2021

Subido el 15/11/2021

joelia-ramirez
joelia-ramirez 🇲🇽

2 documentos

1 / 12

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Capitulo 5. Arboles
1. Al recorrer el siguiente árbol en ____________ se visitan más nodos para llegar al número 38. Justifique
su respuesta mostrando cada uno de los recorridos.
Tipo de Recorrido
Recorrido
A) PREORDEN
B) INORDEN
C) POSTORDEN
D) NIVELES
2. Dado el siguiente árbol AVL
i) ¿Cuál de las siguientes operaciones no provoca que en el árbol se realicen rotaciones?
a) Insertar un valor menor al símbolo Y y mayor al símbolo - .
b) Eliminar el símbolo del nodo raíz
c) Insertar un valor mayor al del símbolo $ y menor al símbolo M.
d) Eliminar el nodo con el símbolo L
e) Eliminar el nodo con el símbolo Y
ii) ¿Qué tipo de rotación ocurrirá al insertar un elemento que es mayor al símbolo / y menor a L ?
3. Analiza el siguiente algoritmo e indica que regresa: _____________
int funcion(Nodo raiz, Nodo x) {
if(raiz == null ) return 0;
if(x.clave == raiz.clave) return 0;
else
if(x.clave < raiz.clave) return funcion (raiz.izq, x) + 1;
A) El número de ocurrencias de un nodo
B) Altura del árbol
C) El nodo conteniendo una determinada
X
$
-
R
O
M
&
+
W
?
/
G
L
Y
3
=
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga UNIDAD 4 DE ESTRUCTURA DE DATOS y más Ejercicios en PDF de Programación C solo en Docsity!

Capitulo 5. Arboles

1. Al recorrer el siguiente árbol en ____________ se visitan más nodos para llegar al número 38. Justifique

su respuesta mostrando cada uno de los recorridos.

Tipo de Recorrido Recorrido

A) PREORDEN

B) INORDEN

C) POSTORDEN

D) NIVELES

2. Dado el siguiente árbol AVL

i) ¿Cuál de las siguientes operaciones no provoca que en el árbol se realicen rotaciones? a) Insertar un valor menor al símbolo Y y mayor al símbolo -. b) Eliminar el símbolo del nodo raíz c) Insertar un valor mayor al del símbolo $ y menor al símbolo M. d) Eliminar el nodo con el símbolo L e) Eliminar el nodo con el símbolo Y

ii) ¿Qué tipo de rotación ocurrirá al insertar un elemento que es mayor al símbolo / y menor a L?

3. Analiza el siguiente algoritmo e indica que regresa: _____________

int funcion(Nodo raiz, Nodo x) { if(raiz == null ) return 0; if(x.clave == raiz.clave) return 0; else if(x.clave < raiz.clave) return funcion (raiz.izq, x) + 1;

A) El número de ocurrencias de un nodo B) Altura del árbol C) El nodo conteniendo una determinada

X

R O -

M

W

G L

Y

return funcion (raiz.der, x) + 1; }

clave D) Profundidad de un nodo

4. Crear un árbol B de dimensión 2 con los siguientes datos: 50,30,20,10,5,80,34,14,12,23,

5. Se define por frontera de un árbol binario, la secuencia formada por los elementos

almacenados en las hojas de un árbol binario, tomados de izquierda a derecha. Escribe un método que dado un árbol binario y una lista vacía pasados como parámetros, devuelva en dicha lista la frontera del árbol.

6. Para el siguiente árbol binario, indique cuál o cuáles de los siguientes recorridos son correctos: Donde

“converso” significa que primero se recorre el subárbol derecho y después el izquierdo, es decir al contrario de los recorridos normales.

7. Dado el siguiente árbol B de orden 2: Muestre en un esquema el árbol resultante, después de insertar el

dato 49

8. Para el siguiente árbol AVL. Indique en cada recuadro qué tipo de rotaciones provoca la inserción de

nuevos datos, suponiendo en cada caso el árbol original. (OK, RSI, RSD, RDI, RDD)

A

3 R

9 X

&

^

a) Preorden converso: A $ # + ^ * R 3 & 9 X

b) Postorden converso: ^ + # $ R X 9 3 & * A

c) Inorden converso: $ + ^ # A R * X & 9 3

d) Todos los anteriores

e) Ninguno de los anteriores

13. Para cada uno de los siguientes incisos, dados los recorridos, construya el árbol binario correspondiente:

a) Inorden:? / - X + % * # $ & 3 ∑ ¿ @ Postorden:? - / + X % * & ∑ 3 ¿ $ @ #

b) Preorden: 3 1 9 4 7 Postorden: 7 4 9 1 3

14. Los árboles binarios de búsqueda equilibrados (AVL) se caracterizan porque la diferencia en altura de

los subárboles izquierdo y derecho de cada nodo no difiere en más de una unidad. Para poder determinar si el árbol está o no equilibrado se maneja el concepto de factor de equilibrio de un nodo, definido como la diferencia en altura del subárbol izquierdo respecto del derecho. Por tanto, en un árbol AVL el factor de equilibrio de los nodos sólo puede valer – 1, 0 ó 1. Implementar un programa en java que identifique si un árbol es AVL o no.

15. Se dice que un árbol binario es zurdo si o bien (1) es el árbol vacío o una hoja, o bien (2) sus

hijos izquierdo y derecho son ambos zurdos y más de la mitad de sus descendientes son descendientes izquierdos. Desarrollar un programa en java para decidir si un árbol binario es o no zurdo.

16. Cuáles de los siguientes árboles de búsqueda binaria son AVL? En caso de no tratarse de

árboles AVL determinar los nodos que lo impiden.

a) b) c)

17. Dado el siguiente árbol binario de búsqueda codificado (cada símbolo de un nodo corresponde a un valor

numérico), responde cada uno de los siguientes incisos:

a. ¿Qué símbolo representa el valor numérico más grande del árbol?

b. ¿Qué símbolo representa el valor numérico más pequeño del árbol? c. ¿Qué símbolo representa el valor medio del árbol? d. ¿Cuáles son los ancestros del nodo que contiene el símbolo ‘?’? e. ¿Cuántas comparaciones se requerirán para encontrar el símbolo & en el árbol? f. ¿Cuántos nodos como máximo podrían existir en el árbol si su altura fuera igual a 4? g. ¿Cuál es el símbolo cuyo valor numérico asociado es inmediatamente mayor al valor numérico del símbolo ‘=’? h. Si el símbolo % representa la suma de los valores asociados a los símbolos $ y /, muestre con un dibujo cómo quedaría el árbol para insertar el símbolo %?.

18. Dibuja el árbol B de orden 2 que resulta después de insertar al árbol B de la figura los datos siguientes:,

19. Dada la secuencia de claves enteras 190, 57, 89, 90, 121, 170, 35, 48, 91, 22, 126, 132 y 80. Dibuja el

árbol B de orden 5 que se corresponde con dichas claves.

20. Para el siguiente árbol AVL. Indique en cada recuadro qué tipo de rotaciones provoca la inserción de

nuevos datos, suponiendo en cada caso el árbol original. (OK, RSI, RSD, RDI, RDD)

50

30 70

15 40 55 80

10 42 52 60 90

58 66

35

37

20

(^18 )

17

7

29. Considere la lista siguiente de valores 20 12 10 15 13 18 25 y genere el árbol binario ordenado de tal

lista, después balancee el árbol anterior indicando en cada paso el tipo y dirección de las rotaciones usadas para tal fin.

30. Considere el B-Tree siguiente de orden 5 y profundidad 2 e indique paso por paso como se transforma

tal árbol al insertarle la clave 68.

31. Transforme el árbol siguiente a su correspondiente árbol binario.

32. Balancee el árbol resultante de la pregunta 1, sin considerar ningún orden e indique en cada paso el tipo

y dirección de las rotaciones que usó para ello.

33. Considere la lista de números siguiente: 42, 23, 9, 30, 16, 64, 6, 80 y genere el árbol B-Tree de orden 3

correspondiente, posteriormente inserte el valor 69 al árbol obtenido, mostrando con diagramas cada paso realizado.

34. Codifique un método que reciba como entrada un árbol binario y que calcule su altura.

35. Codifique un método que reciba como entrada un árbol m-ario y alguno de sus nodos y que muestre

cuáles son los hermanos de dicho nodo, es decir todos los nodos que se encuentran en el mismo nivel del nodo dado.

36. Considere la lista de valores 30, 7, 20, 25, 10, 19, 15, 18 y realice lo siguiente:

  • Dibuje el Árbol Binario de Ordenamiento.
  • Balancee el árbol anterior, indicando en cada paso el tipo y dirección de la rotación que usó.

37. Considere el intervalo cerrado de 500 a 1000 y genere el Árbol B con tres entradas que distribuya

uniformemente tal intervalo.

38. Codifique un método que reciba como entrada una lista de n números y que los ordene descendentemente

generando y recorriendo el correpondiente Árbol Binario Ordenado.

39. A partir de un árbol binario, codifique un método que determine el nivel de dicho nodo.

40. A partir de un árbol triario de su elección, con al menos 15 nodos, determine cuál es su orden, grado,

nivel y altura.

41. Considere el árbol siguiente y seleccione la respuesta correcta, al siguiente cuestionamiento:

Al recorrer el árbol en _____________ se visitan más nodos para llegar al número 38.

A) Preorden B) Inorden C) Postorden D) Niveles

42. Respóndase a las siguientes preguntas del árbol de la figura siguiente:

A

B C

D E F G H

I

M (^) N

J K L

54. Construya un árbol B de orden 2 con los datos 43, 21, 77, 58, 63, 15, 37, 41, 72, 39, 70, 26, 8, 30 y

responda las siguientes preguntas:

a) ¿ Cuál es el número máximo de hijos que puede tener un nodo de este árbol? b) Cuál es la cantidad mínima de hijos que puede tener un nodo de este árbol? (sin considerar la raíz ni las hojas) c) Si la raíz del árbol tiene hijos ¿ Cuál es la cantidad mínima de hijos de la raiz?

55. Implementar una función que calcule el número de hojas de un árbol binario.

56. Dado el siguiente árbol binario

a) Indique cuantos llamados recursivos de la rutina postorden se llevan a cabo, hasta que se visite el nodo H. b) Indique cuantos llamados recursivos de la rutina preorden se llevan a cabo, hasta que se visite el nodo F. c) Indique cuantos llamados recursivos de la rutina inorden se llevan a cabo, hasta que se visite el nodo A.

57. Construir un ABB balanceado a partir de los siguientes datos: 10, 75, 34, 22, 64, 53, 41,5, 25, 74, 20, 15,

90, verificar la condición de balanceo en cada inserción.

58. Dado el siguiente árbol contesta las siguientes preguntas

a) Qué nodos tienen FB positivo (+) b) Qué nodos tienen FB negativo (-) c) Si insertas el nodo 100 que tipo de rotación se provoca en el árbol i) no hay rotación ii) RSI iii) RDI iv) RSD v)RDD

d) Si insertas el nodo 63 que tipo de rotación se provoca en el árbol i) no hay rotación ii) RSI iii) RDI iv) RSD v)RDD e) Si insertas el nodo 56 que tipo de rotación se provoca en el árbol i) no hay rotación ii) RSI iii) RDI iv) RSD v)RDD

59. Dibuja el árbol B de orden 3, inicialmente vacío, que resulta de realizar las siguientes

inserciones: 6, 21, 39, 12, 33, 15, 35, 7, 26, 18, 22, 5, 1, 8

60. El recorrido en preorden de un cierto árbol binario produce: ADFGHKLPQRWZ , y el recorrido enorden

produce: GFHKDLAWRQPZ , dibujar el árbol binario.

61. Para el siguiente árbol responda a las siguientes preguntas

a) Si los símbolos representan la codificación de los valores del 1 al 20 ¿cuál es el valor asociado al símbolo +? a) 5 b) 8 c) 9 d) 13 e) 15 b) Si se quisiera dar de baja la raíz del árbol, ¿cuál de los siguientes símbolos es candidato para sustituirlo? a) R b) - c) O d) T e) Z c) Si el símbolo Σ representa un valor menor que todos los valores del árbol, ¿en qué posición se insertaría? i) A la izquierda del nodo que contiene el símbolo L ii) A la derecha del nodo que contiene al símbolo O iii) A la izquierda del nodo que contiene al símbolo Z iv) A la derecha del nodo que contiene al símbolo L v) A la izquierda del nodo que contiene al símbolo -

62. Realizar una función que sirva para encontrar el numero de nivel en que se encuentra un dato en un ABB.

63. Realizar una función que dado un elemento del árbol, obtenga el elemento que es su abuelo.

64. Realizar una función que dado un elemento del árbol, obtenga los elementos que son sus primos.

65. Realizar una función que obtenga la altura de un nodo dado del árbol.

66. Para el siguiente árbol AVL realice las siguientes inserciones, indicando que operaciones realiza, para

cada inserción considerar el árbol original :

U

U

R

O * 7

Z

K &

/ E

L

X %^ T

Árbol de símbolos Z