Este documento presenta varios ejercicios relacionados con estructuras de datos y algoritmos de ordenamiento. Se pide desarrollar algoritmos y programas en Java para representar operaciones con pilas, colas, tablas hash, montículos, árboles binarios de búsqueda y recursividad. También se incluyen ejercicios para implementar los métodos de ordenamiento burbuja, selección, inserción, merge y quicksort sobre diferentes conjuntos de datos.
1. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
Solicita una cotización a través de nuestros correos.
Maestros Online Estructura de datos Apoyo en ejercicios
Servicio de asesorías y solución de ejercicios
Ciencias_help@hotmail.com
2. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
Utilizando el concepto de pilas y las operaciones vistas en el tema, determinar cómo se efectúan estas operaciones:
Si se insertaran los elementos 1, 20, -10,45 y -20 en una pila, realiza lo siguiente:
1. Mostrar de manera gráfica como quedan insertados los elementos en la pila.
2. Si en algún momento se quisiera eliminar los elementos negativos ¿cómo se efectúa esta operación?
3. Representa gráficamente cómo queda la pila efectuando la operación anterior.
4. Realizar el algoritmo correspondiente de estas operaciones.
5. Escribe un programa en java que desarrolle tu algoritmo.
Utilizando los conceptos de pilas y colas, así como las operaciones que pueden realizarse con ellas, realiza lo siguiente:
1. Realiza un algoritmo que permita encontrar si un número es capicúa de las siguientes opciones: 585, 550, 505, 1001, 8778.
2. La cadena se procesa carácter a carácter, es decir, dígito a dígito en donde un dígito es un carácter del 0 al 9.
3. Cada dígito se pone en una cola y a la vez en una pila.
4. Una vez que se terminan de leer los dígitos y de ponerlos en la cola y en la pila, se comienza con la comprobación, es decir, se extraen en paralelo elementos de la cola y de la pila y se comparan por igualdad, en caso de no existir coincidencia entre dígitos esto significa que el número no es capicúa por lo que las estructuras deben vaciarse para pedir otra entrada.
5. Se determina que el número es capicúa si el proceso de comprobación termina con la coincidencia de todos los dígitos en orden inverso y tanto la pila como la cola quedan vacías.
6. Representa de manera gráfica cómo quedan insertados los elementos y con la longitud solicitada.
7. Escribe un programa en java que desarrolle tu algoritmo.
8. Muestra cual es el resultado de realizar esta operación.
Nota: un número capicúa se refiere a cualquier número que se lee igual de izquierda a derecha y de derecha a izquierda. O cualquier otro número, que empieza por el mismo número que por el que termina. (Ejemplos: 212).
1. Utilizando montículos representa gráficamente la inserción de los siguientes elementos:
10, 50, 20, 60, 70, 30
2. Determina el elemento con mayor prioridad.
1. Utilizando los conceptos de Tablas Hash, aplica el método de plegado al siguiente registro:
245981568
2. Muestra de manera gráfica como quedan insertados los elementos en la tabla.
3. Realiza el algoritmo correspondiente de estas operaciones.
4. Escribe un programa en java que desarrolle tu algoritmo.
5. Analiza la siguiente situación:
3. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
En un estadio de futbol se venden las entradas para la final del torneo. El estadio cuenta con una capacidad de 100,000 asistentes; la venta de boletos únicamente será en el estadio del equipo local que cuenta solamente con tres taquillas; se dará preferencia de comprar boletos únicamente a las personas que cuenten con su abono de la temporada, ya que este también será utilizado para la asignación del número de lugar que debe ocupar en el estadio, así como la zona; las personas que no cuenten con abono deben esperar a que se termine de vender a los que cuentan con abono y también ver si aún quedaron boletos disponibles. Para saber si el aficionado cuenta con abono se le pide el abono del último juego que se llevó a cabo como local. Sin embargo, en la fila hay personas que no cuentan con abono y que por desconocimiento de esta regla al momento de llegar a la taquilla ahí se les informa de esta disposición por lo que al no contar con él, deben salirse de la fila y esperar. Otro factor que se ha visto en la venta de boletos es que deben tomar precauciones ya que hay personas que cuentan con abonos falsificados y esto provocaría una duplicidad en la asignación de los lugares y zona dentro del estadio.
6. Se te pide que realices un algoritmo en pseudocódigo que permita representar la situación planteada, cómo resolver el problema de duplicidad y finalmente representar en la estructura las personas que sí pueden adquirir boleto. Una vez terminado tu algoritmo debes implementarlo en Java utilizando la clase HashMap y finalmente realizar pruebas con al menos 5 corridas de prueba con diferentes casos posibles.
7. También representar a las personas que sí pueden comprar boletos para la final.
Empleando la recursividad indirecta realiza lo siguiente:
Elabora un programa en Java en el que pidas de entrada un número entero y represente su factorial.
Realiza una rutina en Java la cual represente el tercer movimiento de la Torre de Hanoi con 6 discos para 3 torres. El tercer movimiento consiste en realizar el movimiento del disco que está en la tercera torre a la segunda torre.
Para poder empezar las inscripciones y asignar materias deben organizar a los alumnos de reingreso con los de nuevo ingreso de acuerdo a su promedio de mayor a menor. Se te pide que a través del uso de árboles binarios de búsqueda:
1. Realices la eliminación de los alumnos de nuevo ingreso con un promedio inferior a 75.
2. Realices la representación gráfica de cómo se realizó la eliminación de cada alumno de acuerdo a su promedio en el árbol.
Nota. La escala del promedio es de 10 a 100.
1. Realiza un algoritmo en donde utilices la recursión y una estructura tipo árbol que represente la siguiente situación:
Una universidad ha decidido otorgar 9 becas para aquellos estudiantes cuyo promedio sea igual o mayor a 85, el procedimiento para otorgarlas es el siguiente:
4. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
La beca #9 corresponde al estudiante que tenga un promedio de 85 La beca #8 al estudiante que tenga un promedio entre 86 y 87 La beca #7 al estudiante que tenga un promedio entre 88 y 89 La beca #6 al estudiante que tenga un promedio entre 90 y 91 La beca #5 al estudiante que tenga un promedio entre 92 y 93 La beca #4 al estudiante que tenga un promedio entre 94 y 95 La beca #3 al estudiante que tenga un promedio entre 96 y 97 La beca #2 al estudiante que tenga un promedio entre 98 y 99 La beca #1 al estudiante que tenga un promedio de 100.
2. Para representar la información en una estructura tipo árbol, elimina todos los promedios excepto aquellos que tengan un valor de 100, 99 y 98.
1. Investiga y completa la tabla siguiente con información nueva que enriquezca la sentencia de la primera columna: En el método Burbuja se ordenan los valores, comparando repetidamente los elementos adyacentes de la lista e intercambiando su posición si no se encuentran en el orden relativo correcto. Sí y además… Este método (Burbuja) es uno de los más utilizados por los programadores ya que por su sencillez es muy útil para aprender a realizar ordenamiento ya que hace uso de arrays (arreglos). Sí y además… Este método también se considera fácil de programar y además de que su comprensión no es tan compleja ya que su comportamiento al realizar las operaciones es mejor a los demás métodos. Sí y además… El ordenamiento Selection, ordena la lista de valores colocando repetidamente valores particulares en su posición final, ordenada. Sí y además… Una característica muy particular que tiene este ordenamiento (Selection) es que únicamente lo podrás utilizar enarrays pequeños, ya que por su manera de trabajar se recomienda que se realice de esta manera para aprovechar su efectividad. Sí y además…
2. Resuelve el siguiente ejercicio:
En un salón de clases, el maestro ha decidido organizar a su grupo en las filas de acuerdo a su apellido paterno de manera ascendente empleando el método Burbuja. Realiza un algoritmo en pseudocódigo que permita representar estos tipos de ordenamiento.
5. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
1. Investiga y completa la tabla siguiente con información nueva que enriquezca la sentencia de la primera columna: El ordenamiento insertion ordena una lista de valores insertando repetidamente los valores concretos en un subconjunto de la lista que ya haya sido ordenada. Sí y además… El ordenamiento insertion tiene como principal característica que resulta ser más eficiente que el Burbuja y Selection porque no es necesario ordenar los elementos de la lista, sino que estos ya deben presentarse ordenados. Sí y además… Un ejemplo muy característico de este tema (insertion), es el hecho de ir a un laboratorio clínico al ordenar los análisis clínicos, se nos pregunta si es la primera vez que los realizamos en ese laboratorio, sin embargo, al responder que sí, lo único que realiza el laboratorio es “agregar” o “colocar” esta nueva información en donde le corresponde a nuestro expediente que previamente fue ordenado. Sí y además… Shell propone que las comparaciones entre elementos se efectúen con saltos de mayor tamaño, pero con incrementos decrecientes; así los elementos quedarán ordenados en el arreglo más rápidamente. Sí y además… La característica que tiene este método (Shell) es que se debe de evitar una gran cantidad de movimientos de los elementos, comparando primero los elementos que estuvieran muy separados para después comparar elementos muy cercanos y así sucesivamente hasta que vaya reduciéndose poco a poco y finalmente llegar al método de inserción. Sí y además…
2. Soluciona el siguiente ejercicio.
Se tiene la siguiente lista de elementos: 35 48 51 60 63
Se desea agregar 1 elemento con valor de 40, realiza la representación de cómo debe realizarse el ordenamiento por inserción.
1. Escribe las ideas principales de los temas vistos.
2. De lo anterior, elige las 3 ideas representativas de cada uno de los métodos Merge y Quick.
3. Escribe 2 justificaciones de lo que no se debe hacer en cada método y menciona por qué.
4. Considera la siguiente lista de elementos y realiza un algoritmo en pseudocódigo que represente el ordenamiento a través de método Merge. 8 43 17 61 40 16 1. Considera la siguiente situación y realiza lo
6. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
solicitado: En una fábrica de computadoras de escritorio y portátiles ubicada en Guadalajara se desea elaborar un plan que permita simular la ruta de entrega a los distribuidores autorizados, de la marca de tal forma que al departamento de logística le sea más fácil realizar su planeación de entrega. Para esto, los clientes están situados en Guadalajara, Pachuca, Coahuila y Veracruz y han solicitado a la fábrica un pedido de computadoras. Como parte de la logística se ha decidido que la mercancía sea repartida empezando por el destino más lejano y terminando por el destino más cercano a la planta. Esto porque queda más cerca regresar a la planta. El operador del tráiler ha solicitado al departamento de logística que la mercancía sea acomodada de acuerdo al destino en que debe efectuar la entrega, es decir, al fondo de la caja debe quedar el más lejos y al inicio el más cerca, esto para que sea más fácil bajar la mercancía. La planta ha decidido proteger la mercancía a través de tarimas, es decir, cubrirla bien contra cualquier golpe o accidente. Pero para esto, también ha decidido que en cada tarima las computadoras sean organizadas de acuerdo al modelo (de menor a mayor) y por tipo (escritorio o portátil), por lo que esta información viene en la caja de empaque de cada computadora.
7. Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com
www.maestronline.com
2. De acuerdo a lo visto en el módulo, realiza la representación gráfica de: a. La ruta, empleando grafos. b. Del ordenamiento tipo Merge y Quick para las computadoras de escritorio y portátil. c. Explica, a manera de reflexión en media cuartilla, cuál de los ordenamientos es más eficiente en esta situación. Nota: el número de serie de cada computadora lo debes determinar tú de forma aleatoria de tal forma que se pueda representar el ordenamiento.