Esta hoja de enunciados debe ser entregada con los siguientes datos

Anuncio
ESTRUCTURAS DE DATOS Y
ALGORITMOS
Código de I.S: 402029
Código de I.G: 412020
UNIVERSIDAD NACIONAL DE
EDUCACION A DISTANCIA
Primera Semana
Dpto. de Informática y Automática
Facultad de Ciencias
Enero 2001
Duración: 2 horas
Esta hoja de enunciados debe ser entregada con los siguientes datos:
Nombre: ..........................................................................................................................
Indique claramente la Ingeniería (Sistemas o Gestión) en la que está matriculado.
Indique claramente el Centro Asociado en el que está matriculado.
NOTA: Para la realización de este examen NO se permite el uso de Calculadora ni de
ningún tipo de material.
??????
1.- Realizar detalladamente el análisis del algoritmo de inserción binaria
PROCEDURE insercion_binaria;
VAR i,j,m,L,R : integer;
x
: integer;
BEGIN
FOR i:=2 TO n DO
x:=a[i];
L:=........; R:=..........;
WHILE ........ DO
m:=.........................;
IF .................. THEN L:=m+1 ELSE R:=m END;
END;
FOR j:=i TO R+1 BY -1 DO ................ END;
a[R]:=x;
END;
END;
2.- Explicar detalladamente el método de clasificación por mezcla directa. Explicar su
aplicación, los conceptos relacionados con ella (pases, fases, etc.) sus denominaciones,
inconvenientes y posibles mejoras. Ilustrarlo mediante la siguiente secuencia
46 57 14
44 96 20
8
70
Comentar el análisis del coste de este método de clasificación.
3.- Definir el TDA pila. Detallar sus características. Realizar la implementación estática de sus
operadores básicos.
4.- Un árbol B Binario Simétrico (BBS) se define como aquel que posee las siguientes
propiedades:
1) Todo nodo contiene una llave y, como máximo dos apuntadores a subárboles.
2) Todo apuntador es horizontal o vertical. No existen dos apuntadores consecutivos
horizontales en ninguna trayectoria de búsqueda.
3) Todos los nodos terminales aparecen en el mismo nivel
Construir un árbol BBS con las siguientes inserciones en el orden dado
74958
indicando claramente en cada inserción dónde y por qué se inserta cada nodo, así como por
qué y cómo se debe rebalancear en su caso el árbol.
Fórmulas:
z
ln x dx ? x (ln x ? 1)
Hn ? 1 ?
1 1
1
? ? ...
2 3
n
Hn ? ln n ? ? ?
1
? ...
2n
ESTRUCTURAS DE DATOS Y
ALGORITMOS
Código de I.S: 402029
Código de I.G: 412020
UNIVERSIDAD NACIONAL DE
EDUCACION A DISTANCIA
Segunda Semana
Dpto. de Informática y Automática
Facultad de Ciencias
Febrero 2001
Duración: 2 horas
Esta hoja de enunciados debe ser entregada con los siguientes datos:
Nombre: ..........................................................................................................................
Indique claramente la Ingeniería (Sistemas o Gestión) en la que está matriculado.
Indique claramente el Centro Asociado en el que está matriculado.
NOTA: Para la realización de este examen NO se permite el uso de Calculadora ni de
ningún tipo de material.
??????
1.- Realizar detalladamente el análisis del costo de la clasificación por partición, suponiendo
que un pivote de valor aleatorio. Téngase en cuenta que el coste vendrá dado por dos
llamadas recursivas más el tiempo que transcurre en la partición.
2.- Explicar el método de clasificación por montón describiendo la definición de montón de
Williams, la manera de construir un montón in situ de Floyd y el algoritmo de clasificación.
Usar para ello el siguiente arreglo inicial
44 55 12
42 94 18
6
67
Completar el programa 2 (en Modula-2) para que realice el desplazamiento de Floyd y
desarrollar el segmento de programa que realiza la construcción de Floyd de un montón.
PROCEDURE sift(L,R: index);
VAR i,j:index; x: item;
BEGIN
i:=L; j:=2*L; x:=a[L];
IF (j<R) & ....................THEN j:=j+1 END;
WHILE (j<=R) & .............. DO
.............; i:=j; ..............
IF (j<R) &.................. THEN j:=j+1 END
END
.........
END sift
3.- Definir un árbol perfectamente balanceado. Proponer una estructura de nodo y
programar un procedimiento en Modula-2 que construya un árbol perfectamente balanceado
con llave números enteros y tal que construya el árbol sin necesidad de conocer
previamente el número de nodos a insertar. Explicar detalladamente cómo se construye el
árbol siguiendo las sentencias del algoritmo. Ilustrarlo construyendo el árbol para la siguiente
secuencia
8
9
11
15 19 20
21 1
7
4.- En la figura 1 se presenta un árbol B de orden 2. Teniendo en cuenta que un árbol B de
orden n tiene las siguientes características:
1.- Cada página contiene a lo sumo 2n elementos.
2.- Cada página, excepto la de la raíz, contiene al menos n elementos.
3.- Cada página es una página de hoja (no tiene descendientes o tiene m+1
descendientes siendo m el número de llaves en esta página)
4.- Todas las páginas de hoja aparecen en el mismo nivel.
explicar detalladamente el proceso de inserción sucesiva de los siguientes valores
38, 24, 45, 25
indicando claramente la razón por la que es necesario cada paso del proceso.
10 20 30 40
5
7
8
13 15 18
22
26
27
32
35
42
46
Figura 1
Fórmulas:
z
ln x dx ? x (ln x ? 1)
Hn ? 1 ?
1 1
1
? ? ...
2 3
n
Hn ? ln n ? ? ?
1
? ...
2n
Descargar