Unidad 2: Algoritmos de Ordenación y Búsqueda - Evidencia de
Aprendizaje Estructuras de Datos
A continuación se indican los problemas para la Evidencia de Aprendizaje
de la Unidad 2. Seguir las indicaciones sobre la procedencia del código y la documentación requerida, junto a sus explicaciones. Enviar dos archivos: un documento de texto que contiene la descripción de la actividad junto a sus comentarios y reflexiones sobre la actividad, y la documentación de su código y un archivo comprimido que contiene el código fuente y el ejecutable. Resolver y codificar los siguientes problemas.
1. Considerar una lista L con nombres de personas en cada lı́nea o
palabras, por ejemplo: {Omar,Juan, Pedro, Jose, Pablo, Esteban, Eleonor, Maria, Elisa, Norma, Nora, Norberto..} digamos20 nombres. A continuación, usar el método de ordenación rápida (QuickSort) para ordenar L de acuerdo al órden lexicográfico o de diccionario. Observar que QuickSort debe ser capaz de vérselas con cadenas de caractéres, comparando en base a las primeras letras de cada cadena, en caso de tener el mismo órden entonces decidir en base a la segunda letra, o en base a la tercera, etc, este se llama el ordenamiento lexicográfico o de diccionario.
2. Codificar el siguiente problema. Dado un nombre s, el cual puede ser
o no un elemento de la lista L de la actividad anterior (Evidencia 1), usar el algoritmo de búsqueda binaria para indicar si s es un elemento de L e indicar el ı́ndice i tal que L[i] = s, en caso de que la cadena s no pertenece a L indicarlo y a continuación insertar la cadena en el lugar adecuado.
Algunas webs de ayuda:
QuickSort para cadenas Búsqueda Binaria para cadenas