Fhernd icon

programacion_algoritmos_flashcards.tsv

Fhernd | PRO | 01/08/26 01:14:39 AM UTC | -1 ⭐ | 5646 👁️ | Never ⏰ | []
text |

2.67 KB

|

Software

|

0 👍

/

1 👎

Bubble Sort	Algoritmo de ordenamiento simple que intercambia repetidamente elementos adyacentes si están en el orden incorrecto. Es lento pero fácil de entender.\n\nPseudocódigo:\npara i desde 0 hasta n-1\n  para j desde 0 hasta n-i-2\n    si A[j] > A[j+1]\n      intercambiar A[j] y A[j+1]
Selection Sort	Algoritmo que selecciona repetidamente el elemento mínimo y lo coloca en su posición correcta. Reduce intercambios pero sigue siendo ineficiente.\n\nPseudocódigo:\npara i desde 0 hasta n-2\n  min = i\n  para j desde i+1 hasta n-1\n    si A[j] < A[min]\n      min = j\n  intercambiar A[i] y A[min]
Insertion Sort	Algoritmo que construye la lista ordenada insertando cada nuevo elemento en su posición correcta. Muy eficiente para listas pequeñas.\n\nPseudocódigo:\npara i desde 1 hasta n-1\n  clave = A[i]\n  j = i-1\n  mientras j >= 0 y A[j] > clave\n    A[j+1] = A[j]\n    j = j-1\n  A[j+1] = clave
Quick Sort	Algoritmo divide y vencerás que elige un pivote y divide el arreglo en menores y mayores al pivote. Muy rápido en la práctica.\n\nPseudocódigo:\nquickSort(A, inicio, fin)\n  si inicio < fin\n    p = particionar(A, inicio, fin)\n    quickSort(A, inicio, p-1)\n    quickSort(A, p+1, fin)
Merge Sort	Algoritmo divide y vencerás que divide el arreglo en mitades, las ordena y luego las combina. Garantiza buen rendimiento.\n\nPseudocódigo:\nmergeSort(A)\n  si tamaño(A) > 1\n    dividir A en izquierda y derecha\n    mergeSort(izquierda)\n    mergeSort(derecha)\n    combinar izquierda y derecha
Greedy Algorithms	Algoritmos que toman decisiones locales óptimas esperando obtener una solución global óptima. No siempre funcionan, pero son rápidos.\n\nPseudocódigo:\nsolución = vacía\nmientras haya opciones\n  elegir la mejor opción local\n  agregar a la solución
Dynamic Programming	Técnica que resuelve problemas dividiéndolos en subproblemas y almacenando sus resultados para evitar cálculos repetidos.\n\nPseudocódigo:\npara i desde 0 hasta n\n  dp[i] = valor base\npara i desde 1 hasta n\n  dp[i] = mejor(dp[i-1], dp[i-2] + valor)
Optimization	Proceso de mejorar el uso de recursos como tiempo o memoria para lograr mayor eficiencia en un programa.\n\nPseudocódigo:\nmedir rendimiento\nidentificar cuello de botella\nreemplazar algoritmo o estructura\nvolver a medir
Big O Notation	Notación que describe cómo crece el tiempo o espacio de un algoritmo según el tamaño de la entrada.\n\nEjemplo:\nfor i desde 0 hasta n\n  imprimir i\nComplejidad: O(n)
Design Patterns	Soluciones reutilizables a problemas comunes de diseño de software. No son código, son estructuras conceptuales.\n\nEjemplo (Singleton):\nsi instancia no existe\n  crear instancia\nretornar instancia
 

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎