Skip to content

lc-empty/ES-281

Repository files navigation

Estructua de Datos Fundamentales y Algoritmos

Crear un entorno virtual: python -m venv env

Activar el entono virtual:

  • En ArchLinux + Fish: source env/bin/activate.fish
  • En Linux/macOS: source env/bin/activate
  • En Windos: .\env\Scripts\activate

Instalar las librerias/paquetes: pip install -r requirements.txt

Desactivar el aentorno virtual: desactivate

Colaboradorees

  • Thayli Roxana Yanasupo Romero
  • Isaias Ramos Lopez

Comparación de los lenguajes de programación JAVA, PYTHON y C

  • Operaciones Básicas:

    • Realiza la suma, resta, multiplicación y división de dos números ingresados por el usuario.
  • Verificación de Número Par o Impar:

    • Solicita un número al usuario y determina si es par o impar.
  • Área de un Triángulo:

    • Pide la base y la altura de un triángulo al usuario y calcula su área.
  • Calculadora de Factorial:

    • Crea una función que calcule la factorial de un número.
  • Número Primo:

    • Verifica si un número ingresado por el usuario es primo o no.
  • Inversión de Cadena:

    • Toma una cadena de texto y muestra su inversión.
  • Suma de Números Pares:

    • Calcula la suma de los números pares en un rango especificado por el usuario.
  • Lista de Cuadrados:

    • Crea una lista de los cuadrados de los primeros 10 números naturales.
  • Contador de Vocales:

    • Cuenta el número de vocales en una cadena de texto.
  • Números de la Serie Fibonacci:

    • Genera los primeros 10 números de la serie Fibonacci.
  • Ordenamiento de Lista:

    • Ordena una lista de números ingresados por el usuario de menor a mayor.
  • Palíndromo:

    • Verifica si una palabra ingresada por el usuario es un palíndromo.
  • Generador de Tablas de Multiplicar:

    • Crea un programa que genere la tabla de multiplicar de un número ingresado por el usuario.
  • Cálculo del Área de un Círculo:

    • Pide el radio de un círculo al usuario y calcula su área.
  • Suma de Dígitos:

    • Toma un número entero y calcula la suma de sus dígitos.

Recyrsividad - Arreglos y Matrices

  • Ejercicio parte 01:

    • Recursividad

      • Ejercicio 1: Escribe una función recursiva que imprima los números pares del 1 al 100.
      • Ejercicio 2: Escribe una función recursiva que imprima la suma de los números del 1 al n.
      • Ejercicio 3: Escribe una función recursiva que imprima la pirámide de números del 1 al n.
      • Ejercicio 4: Escribe una función recursiva que imprima la pirámide de números invertidos del 1 al n.
      • Ejercicio 5: Escribe una función recursiva que imprima la tabla de multiplicar del n.
    • Arreglos y Matrices

      • Crea una matriz de números reales.
      • Crea una matriz de números complejos.
      • Crea una matriz de matrices.
      • Accede al elemento central de una matriz.
      • Suma dos matrices de diferentes tamaños.
      • Multiplica una matriz por un número.
      • Calcula la media de los elementos de una matriz.
  • Ejercicio parte 02:

    • Crea una matriz de números aleatorios de tamaño 100x100.
    • Calcula la media, la mediana y la desviación estándar de los elementos de una matriz.
    • Escribe una función que encuentre el elemento máximo de una matriz.
    • Escribe una función que encuentre la submatriz de mayor suma de una matriz.
    • Escribe una función que encuentre la matriz de covarianza de dos matrices.

Conjuntos (SETS)

  1. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números primos.
  2. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que comienzan con una letra determinada.
  3. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números que son divisibles por un número determinado.
  4. Escriba una función que reciba dos conjuntos de números y devuelva un conjunto con los números que están en ambos conjuntos.
  5. Escriba una función que reciba dos conjuntos de números y devuelva un conjunto con los números que están en el primer conjunto pero no en el segundo.
  6. Escriba una función que reciba dos conjuntos de números y devuelva un conjunto con los números que están en el segundo conjunto pero no en el primero.
  7. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que son anagramas.
  8. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que son palíndromos.
  9. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que tienen una longitud determinada.
  10. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que contienen una letra determinada.
  11. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números que están ordenados de menor a mayor.
  12. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números que están ordenados de mayor a menor.
  13. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números que están duplicados.
  14. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números que no están duplicados.
  15. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números que son primos y están ordenados de menor a mayor.
  16. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que son palíndromos y están ordenadas de menor a mayor.
  17. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que tienen una longitud determinada y están ordenadas de menor a mayor.
  18. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que contienen una letra determinada y están ordenadas de mayor a menor.
  19. Escriba una función que reciba un conjunto de números y devuelva un conjunto con los números que están ordenados de menor a mayor y que no están duplicados.
  20. Escriba una función que reciba un conjunto de palabras y devuelva un conjunto con las palabras que son palíndromos, tienen una longitud determinada y están ordenadas de menor a mayor.

Gestionar aserciones - Listas enlazadas simples, y circulares

  • Ejercicio parte 01:

    • Validar la edad de un usuario.
    • Verificar el tipo de dato de una variable.
    • Validar el rango de una calificación.
    • Asegurar que una lista no esté vacía.
    • Validar la igualdad de dos objetos.
    • Asegurar que un ciclo while se ejecuta al menos una vez.
    • Asegurar que una función retorna un valor específico.
    • Validar el estado de una variable después de una operación.
    • Asegurar que un módulo se ha importado correctamente.
  • Ejercicios parte 02:

    • Desarrollar el código de buscar nodo en la lista enlazada simple.
    • Implementa una función que sume todos los nodos de una lista enlazada simple.
    • Crea una función que devuelva la longitud de una lista enlazada simple.
    • Implementa una función que concatene dos listas enlazadas simples.
    • Crea una función que elimine los nodos duplicados de una lista enlazada simple.
    • Implementa una función que invierta el orden de una lista enlazada simple.

Listas enlazadas dobles y pilas

  • Ejercicio parte 01 – Listas Enlazadas Dobles:

    • Crea una lista con al menos 4 nodos, duplica cada nodo de la lista e imprime la lista original y la lista duplicada hacia adelante y hacia atrás
    • Crea una lista con al menos 9 nodos, cuenta cuántos nodos tienen un dato par y cuántos tienen un dato impar e imprime la lista hacia adelante y hacia atrás.
    • Crea una lista con al menos 5 nodos, inserta un nuevo nodo con el dato 15 en la posición 3 e imprime la lista hacia adelante y hacia atrás.
    • Crea una lista con nodos que contengan datos duplicados, elimina todos los nodos duplicados, dejando solo una instancia de cada dato e imprime la lista hacia adelante y hacia atrás.
    • Crea una lista con al menos 6 nodos, invierte el orden de la lista (el último elemento se convierte en el primero y viceversa) e imprime la lista hacia adelante y hacia atrás.
  • Ejercicios parte 02: Pilas

    • Utilizar una pila para invertir el orden de los caracteres de una cadena.
    • Implementar un programa que convierta un número decimal a su representación en sistema binario utilizando una pila.
    • Crear un programa que evalúe una expresión matemática en notación posfija utilizando una pila.
    • Verificar si los operadores en una expresión matemática están correctamente anidados utilizando una pila.
    • Ordenar los elementos de una pila de manera ascendente utilizando estructuras adicionales.
    • Eliminar los elementos duplicados de una pila.
    • Crear una calculadora que pueda realizar operaciones básicas (+, -, *, /) utilizando una pila para evaluar expresiones.
    • Utilizar una pila para comprobar si una palabra o frase es un palíndromo.
    • Implementar un sistema simple de "deshacer" utilizando dos pilas, una para las acciones y otra para los deshaceres.

Colas y Arboles Binarios

  • Ejercicio parte 01 – Colas:

    • Verificar si una palabra es palíndroma: Implementa una función que determine si una palabra es palíndroma o no. Utiliza una cola para comparar los caracteres de la palabra en orden original y reverso.
    • Diseño de un sistema de gestión de pedidos: Crea un sistema de gestión de pedidos que utilice una cola para procesar los pedidos en el orden en que fueron recibidos. Implementa funciones para agregar pedidos, procesar pedidos y mostrar el estado actual de la cola.
    • Búsqueda de rutas en un laberinto: Desarrolla un programa que encuentre el camino más corto a través de un laberinto. Utiliza una cola para realizar un recorrido en anchura (BFS) desde el punto de inicio hasta el punto de destino.
    • Diseño de un sistema de gestión de tareas (Avanzado): Implementa un sistema de gestión de tareas que permita agregar tareas, marcar tareas como completadas y mostrar la próxima tarea pendiente.
  • Ejercicios parte 02 - Arboles:

    • Contar Nodos

      • Implementar una función que cuente la cantidad de nodos en el árbol.
      • Implementar una función que cuente la cantidad de nodos hoja (que no tienen hijos).
      • Implementar una función que cuente la cantidad de nodos internos (que tienen al menos un hijo).
    • Calcular Altura y Profundidad

      • Implementar una función que calcule la altura del árbol (la longitud del camino más largo desde la raíz hasta una hoja).
      • Implementar una función que calcule la profundidad de un nodo (la longitud del camino desde la raíz hasta el nodo).
    • Buscar el minimo y el maximo:

      • Implementar una función que encuentre el nodo con el valor mínimo en el árbol.
      • Implementar una función que encuentre el nodo con el valor máximo en el árbol.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages