Skip to content

Latest commit

 

History

History
178 lines (137 loc) · 10.7 KB

README.md

File metadata and controls

178 lines (137 loc) · 10.7 KB

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.