Algoritmos Flashcards

1
Q

Algoritmos definición

A

Conjuntos de reglas que, aplicadas sistemáticamente a unos datos de entrada apropiados, resuelven un problema en un número finito de pasos elementales.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Diseño. Técnicas

A

-Divide y venderás (TOP-DOWN)
-Voraces (opción óptima en cada caso)
-Probabilísticos (MonteCarlos/Las Vegas)
-Backtracking (explora árbol de soluciones) - Fuerza bruta
-Ramificación y poda
-Programación dinámica (combinar subproblemas óptimos)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Análisis (complejidad espacial y temporal)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Algoritmos de búsqueda

A

Búsqueda secuencia. O(n).
Búsqueda binaria. O(log n). El arreglo debe estar ordenado y no se deben repetir los elementos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Clasificación de algoritmos ordenación

A

Interno (memoria) / externo (fichero)
Natural. Tarda lo mismo si la entrada está ordenada
Estable. Mantiene el orden relativo original para claves iguales

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Tipos de algoritmos de ordenación

A

-Exchange sorts: Burbuja/ QuickSort/ Cocktail
-Selection sorts: Selection/ HeapSort
-Insertion sorts: Insertion/ ShellSort
-Merge sort: Merge Sort
-Distribution sorts: Bucket Sort o BinSort/ Radix Sort

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Burbuja

A

O (n^2)
Ω(n)
Vamos desplazando el nº máx grande que nos encontramos a base de comparaciones e intercambios entre elementos adyacentes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Inserción directa

A

O (n^2)
Ω(n)
1. Busca el lugar que le corresponde a Xi dentro del subarray que ya está ordenado.
2. Desplaza los elementos necesarios para hacerle hueco a Xi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Selección

A

O (n^2)
1. Busca el mínimo y lo pones el 1º
2. Busca el siguiente mínimo y lo coloas el 2º

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

MergeSort

A

O(n log n)
1. Divide la lista en sublistas hasta llegar al caso trivial (recursivo)
2. Mezcla dos sublistas para tener una ordenada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

QuickSort

A

O (n^2)
Ω(n log n)
1. Elegimos un elemento al que llamamos Pivote
2. Intercambiamos elementos menores de Xi y mayores de Xi
3. Misma operativa de forma recursiva

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

HeapSort/Montículo

A

O(n log n)
Consiste en meter todos los elementos del array en un montículo MAX y realizar N llamadas a eliminar_max

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

BucketSort / BinSort

A

O (n^2)
Ω (n+k)
1º Distribución inicial
2º Ordenar cada casillero
3º Concatenar casilleros

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Radix Sort

A

O(n*k)
LSD: dígito menos significante
MSD: dígito más significante

How well did you know this?
1
Not at all
2
3
4
5
Perfectly