Bloque2-Tema3-Algoritmos Flashcards

1
Q

Que es un algoritmo?

A

Conjunto de reglas aplicadas sistematicamente a unos datos de entrada apropiados, resuelven un problema en un NUMERO FINITO de pasos elementales.

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

Medidas de expresion de un algoritmo.

A

-Diagramas de flujo
-Pseudocodigo.
-Sistemas formales.

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

Tecnicas de analisis y diseño?

A

-Divide y venceras
-Voraces(Opcion optima en cada paso) (Djistra/ A* / Prim /Kruskal)
-Probalisticas (Montecarlo/las vegas)
-Backtracking (Explora arbol soluciones)
-Ramificacion y poda
-Programacion dinamica (Combinar subproblemas optimos)

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

Que es la memoizacion (usada en resursividad)?

A

Es una técnica de optimización que se usa principalmente para acelerar los tiempos de cálculo, almacenando los resultados de la llamada a una subrutina en una memoria intermedia o búfer y devolviendo esos mismos valores cuando se llame de nuevo a la subrutina o función con los mismos parámetros de entrada.

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

Que es la Cota superior asintótica (Big O Notation)

A

Una cota superior asintótica es una función que sirve de cota superior de otra función cuando el argumento tiende a infinito.

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

Tiempo logaritmico ordenado de menos tiempo a mas.

A

O(1) / O(logN) / O(n) / O(NLogN) / O(N^2) / O(2^N) / O (N!)

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

Tipos de clasificacion de algoritmos.

A

-Interno (Memoria) o Externo (fichero)

-Natural/adaptativo (Tarda lo minimo si la entrada esta ordenada)

-Estable (Mantiene orden relativo original para claves iguales)-> Quiere decir que mantiene el orden de los valores duplicados, por ejemplo dos 3, va a tener en el orden que venian ordenados.

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

Algoritmos de ordenacion de tipo Exchange Sorts?

A

-Burbuja
-Quicksort
-Cocktail o burbuja bi-direccional

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

Algoritmos de ordenacion de tipo Selection Sorts?

A

-Seleccion
-HeapSort

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

Algoritmos de ordenacion de tipo Insertion Sorts?

A

-Insercion
-ShellSort (Insercion con pasos mas grandes)

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

Algoritmos de ordenacion de tipo Merge Sorts?

A

-Merge sort

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

Algoritmos de ordenacion de tipo Distribution Sorts?

A

-Bucket Sort/Binsort
-Radix Sort

ESTOS NO HACEN COMPARACIONES.

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

Complejidad logaritmica del algoritmo de burbuja

A

Mejor caso -> O (N)
Caso medio-> O (N^2)
peor caso-> O (N^2)

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

COmo funciona el algoritmo de burbuja?

A

Vamos desplazando el Nº mas 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
15
Q

Complejidad logaritmica del algoritmo de insercion directa

A

Mejor caso -> O (N)
Caso medio-> O (N^2)
peor caso-> O (N^2)

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

Como funciona el algoritmo de insercion directa?

A

1-> Busca el lugar que le corresponde a Xi dentro del subarray que ya esta ordenado.

2-> Desplaza a todos los elementos necesario para hacerle hueco a Xi

NOTA: Si en el paso 1 en lugar de comparar 1 a 1 realiza una busqueda binario, se denomina insercion binaria.

17
Q

Complejidad logaritmica del algoritmo QuickSort

A

Mejor caso -> O (N log(N))
Caso medio-> O (N log(N))
peor caso-> O (N^2)

18
Q

Como funciona el algoritmo de QuickSort?

A

1-Crea un pivote
2-Intercambio de elementos > Xi y elementos < Xi
3-Misma operativa para cada subarray(Resursivo)

Osease que divide un array y mete los grandes a un lado y los pequeños al otro.

19
Q

Complejidad logaritmica del algoritmo MergeSort

A

Mejor caso -> O (N log(N))
Caso medio-> O (N log(N))
peor caso-> O (N log(N))

20
Q

Como funciona el algoritmo de MergeSort?

A

1- Divide la lista en sublistas hasta llegar al caso trivial (Recursividad)
2- Mezcla dos sublistas para obtener una lista ordenada.

21
Q

Complejidad logaritmica del algoritmo HeapSort O monticulos.

A

Mejor caso -> O (N log(N))
Caso medio-> O (N log(N))
peor caso-> O (N log(N))

22
Q

Como funciona el algoritmo de HeapSort?

A

Consiste en meter todos los elementos del array de datos en un monticulo MAX y luego realizar N veces llamadas a eliminar_max(), lo que lo ordena en resultado decreciente.

23
Q

Complejidad logaritmica del algoritmo de Seleccion.

A

Mejor caso -> O (N^2)
Caso medio-> O (N^2)
peor caso-> O (N^2)

24
Q

Como funciona el algoritmo de Seleccion?

A

1-Busca el minimo y lo pones en la 1º posicion.
2-Busca el siguiente minimo a partir de la primera posicion y lo pones en la segunda, etc.

25
Q

Complejidad logaritmica del algoritmo Radix Sort

A

O (N*K)

26
Q

Como funciona el algoritmo Radix Sort?

A

Hay dos versiones:
LSD: Usa el digito menos significativo.
MSD: Usa el digito mas significativo.

ordena enteros procesando sus dígitos de forma individual. Va metiendo por digitos en colas/buckets.

27
Q

Complejidad logaritmica del algoritmo Bucket Sort/Binsort?

A

O (N)

28
Q

Como funciona el algoritmo Bucket Sort/Binsort?

A

Distribuye todos los elementos a ordenar entre un número finito de casilleros. Cada casillero solo puede contener los elementos que cumplan unas determinadas condiciones.

29
Q

Mirar ejercicio resursividad. Imagen bloque 2 tema 3.

A