0% encontró este documento útil (0 votos)
49 vistas4 páginas

2018 2TallerFinalAlgoritmos4

1) El documento presenta una serie de ejercicios relacionados con algoritmos de ordenamiento, búsqueda, funciones hash, grafos y conjuntos. Incluye preguntas sobre la eficiencia de métodos de ordenamiento, pasos para ordenar vectores usando diferentes algoritmos como inserción, selección y shell. También cubre temas como funciones hash, representación de grafos, operaciones con conjuntos y multiconjuntos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
49 vistas4 páginas

2018 2TallerFinalAlgoritmos4

1) El documento presenta una serie de ejercicios relacionados con algoritmos de ordenamiento, búsqueda, funciones hash, grafos y conjuntos. Incluye preguntas sobre la eficiencia de métodos de ordenamiento, pasos para ordenar vectores usando diferentes algoritmos como inserción, selección y shell. También cubre temas como funciones hash, representación de grafos, operaciones con conjuntos y multiconjuntos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

27/02/19 MARN

ALGORTMOS Y PROGRAMACION 4

TALLER EXAMEN FINAL

ORDENAMIENTO Y BUSQUEDA

1. Escribir un método que elimine los elementos duplicados de un vector ordenado. ¿Cuál es la
eficiencia del método?
2. Un vector contiene los elementos mostrados a continuación. Los primeros dos elementos se
han ordenado utilizando un algoritmo de inserción. ¿Cuál será el valor de los elementos del
vector después de tres pasadas más del algoritmo?
3 13 8 25 45 23 98 58
3. Dada la siguiente lista
47 3 21 32 56 92
Después de dos pasadas de un algoritmo de ordenación, el arreglo queda así:
3 21 47 32 56 92
¿Qué algoritmo de ordenación se está utilizando (selección, burbuja o inserción)?
Justifique la respuesta.
4. Un arreglo contiene los elementos indicados mas abajo. Utilizando el algoritmo de inserción
Shell, encuentre las pasadas y los intercambios que se realizan para su ordenación.
8 43 17 6 40 16 18 97 11 7
5. Partiendo del mismo arreglo del ejercicio anterior. Encuentre las particiones e intercambios
que realiza el algoritmo de ordenación Quicksort para el ordenamiento
6. Explique con sus palabras y con un ejemplo el método de ordenación Radixsort. Escribir la
función de ordenación correspondiente al método Radixsort para poner en orden alfabético
una lista de n nombres.
7. Un arreglo contiene los elementos indicados mas abajo. Utilizando el algoritmo de búsqueda
binaria, trazar las etapas necesarias para encontrar el número 88.
8 13 17 26 44 56 88 97
8. Dado un vector x de n elementos reales, donde n es impar, diseñar un método que calcule y
devuelva la mediana de ese vector. La mediana es el valor tal que la mitad de los números son
mayores que él y la otra mitad son menores
9. Dadas las notas de los alumnos de un carrera en el primer semestre en 5 diferentes
asignaturas calcular la mediana de cada alumno, la media de cada asignatura, la media total
de la clase y ordenar los alumnos por orden descendiente de notas medias individuales.
Explique el método de ordenamiento. Uutilizar como algoritmo de ordenación el método de
Shell.
10. El archivo F, almacena registros con un campo clave de tipo entero. Suponer que la secuencia
de claves que se encuentra en el archivo es la siguiente:
14 27 33 5 8 11 23 44 22 31 46 7 8 11 1 99 23 40 6 11 14 17
Aplicando el algoritmo de mezcla directa, realizar la ordenación del archivo y determinar
el número de pasadas necesarias.
11. Se tiene guardado en un archivo a los habitantes de la comarca de Mogotes. Los datos de cada
persona son los siguientes: primer apellido (campo clave), segundo apellido (campo
secundario), edad, años de estancia y estado civil. Escribir un programa para ordenar el
archivo por el método de mezcla equilibrada múltiple. Utilizar 6 archivos auxiliares.

Página 1 de 4
27/02/19 MARN

FUNCIONES HASH

12. Una tabla hash se ha implementado con exploración lineal, considerando que actualmente el
factor de carga es 0.30. ¿Cuál es el numero esperado de posiciones de la tabla que se prueban
en una búsqueda de una clave, con éxito y sin éxito?
13. Se va a utilizar como función hash el método mitad del cuadrado. Si el tamaño de la tabla es
de 100, encontrar los índices que corresponden a las claves 2134, 5231, 2212, 1011.
14. Escribir el método estaVacia() para determinar que una matríz dispersa enlazada no tiene
elementos asignados.
15. Empleando una tabla hash con exploración cuadrática para almacenar 1000 cadenas de
caracteres, el máximo valor que se quiere alcanzar del factor de carga es 0.6; suponiendo que
las cadenas tienen un máximo de 12 caracteres, calcular:
a) El tamaño de la tabla.
b) La memoria total que necesita la tabla.
c) S la tabla está implementada con una lista, escribir el método para averiguar si una
clave está en la tabla.
16. Se define el índice radial de una Tabla Hash abierta como el número de campos de la tabla por
el número de elementos de la lista enlazada con mayor número elementos presentes en la
tabla. Diseñar un algoritmo para calcular tal índice radial.

GRAFOS

17. Un grafo está formado por los vértices v = {A, B, C, D, E}, su matriz de adyacencia, suponiendo
los vértices numerados del 0 al 4 respectivamente, es:

0 1 1 1 0
1 0 1 0 1
M =
1 1 0 1 1
0 1 1 0 1
0 1 1 0 0

a) Dibujar el grafo que le corresponde.


b) Representar el grafo mediante listas de adyacencia.
18. Diseñar un grafo con pesos, con los siguientes requisitos:
 Consta de 10 vértices que son números aleatorios del 11 al 99.
 Dos vértices v, w, están relacionados si v+w es múltiplo de 3.
a) Escribir un programa en el que se genere un grafo con las condiciones descritas. El
grafo se ha de representar con una matriz de adyacencia.
b) Añadir al programa los métodos necesarios para determinar la matriz de caminos
utilizando las potencias de la matriz de adyacencias.
19. Una región esta formada por 12 comunidades. Se establece la relación de desplazamiento de
personas en las primeras horas del día. Así, la comunidad A esta relacionada con la comunidad

Página 2 de 4
27/02/19 MARN

B si desde A se desplazan n personas a B. de igual forma puede haber relación entre B y A si se


desplazan m personas de B hasta A.

Escribir un programa que represente el grafo descrito mediante listas de adyacencia.

.
20. Dado el grafo descrito en el problema anterior. Escriba un programa para representarlo
mediante listas enlazadas de tal forma que cada nodo de la lista directorio contenga dos listas:
una que contiene los arcos que salen del nodo y otra que contiene los arcos que terminan en
el nodo.

21. Explique con sus palabras los problemas especiales vistos en clase

CONJUNTOS

Se tiene un conjunto con todas las secuencia de los dados, escribir métodos para:

22. Un jugador debe lanzar dos dados numerados de 1 a 6, y su puntaje es la suma de los valores
obtenidos.

Un puntaje dado puede ser obtenido con varias combinaciones posibles. Por
ejemplo, el puntaje 4 se logra con las siguientes tres combinaciones: 1+3, 2+2 y
3+1.

Escriba un programa que pregunte al usuario un puntaje, y muestre como


resultado la cantidad de combinaciones de dados con las que se puede obtener
ese puntaje.

Ingrese el puntaje: 4
Hay 3 combinaciones para obtener 4
Ingrese el puntaje: 11
Hay 2 combinaciones para obtener 11
Ingrese el puntaje: 17
Hay 0 combinaciones para obtener 17
23. Dado otro conjunto de dados decir hallar la diferencia con el conjunto de todos los dados
24. En la representación binaria un conjunto se representa con la siguiente cadena:

A=1001111110000000111110
B=00111111111001
Calcular: C=AUB
D=A diferencia simétrica B

25. Un MultiConjunto o bolsa es un tipo abstracto de datos que especifica una colección de
elementos en la que, a diferencia del Conjunto, pueden existir ocurrencias repetidas de los

Página 3 de 4
27/02/19 MARN

mismos. Por ejemplo, el MultiConjunto {1, 3, 3, 4} no es el mismo que el MultiConjunto {1, 3,


4}.¿Qué operación u operaciones se deben modificar para trabajar una bolsa.

26. Implementar el método copia de conjuntos

27. Implementar con un TAD conjunto:


boolean igual(Conjunto A, Conjunto B); /* Retorna TRUE si los conjuntos A y B
contienen los mismos elementos. */

Página 4 de 4

También podría gustarte