Sunteți pe pagina 1din 7
TEMA 2
TEMA 2

Operaciones elementales: operaciones que realiza el ordenador en tiempo acotado por una constante:

Operaciones aritméticas básicas. Asignaciones a variables de tipo predefinido por el compilador. Los saltos (llamadas a funciones o procedimientos, retorno desde ellos Comparaciones lógicas. Acceso a estructuras indexadas básicas (vectores o matrices)

.

).

En estructuras de selección tipo “si C entonces S1 sino S2 finsi”, es T = T (C) + max{T (S1 ), T (S2 )}. En estructuras repetitivas tipo “mientras C hacer S fin”, es T = T (C) + (no iteraciones) (T (S) + T (C)),

TEMA 3
TEMA 3

-¿En qué se diferencian los métodos void setElementAt(Object ob, int pos) y Object set(int pos, Object ob) de la clase java.utiil.Vector ?

SetElement no te devuelve el objeto que hubieses en esa posición en cambio set si te lo devuelve.

-¿Coste de operación de borrar la cabeza de una lista simple? O(1) constante

-¿Coste de operación de borrar un elemento de una lista?

Mejor caso: O(1) Constante Peor caso: O(n) Lineal

-¿Coste de operación de addLast en una lista?

O(1) Constante

-¿Coste de operación de removeLast() en una lista?

O(1) Constante

-¿Coste de operación de buscar en una lista?

Mejor caso: O(n) Lineal Peor caso: O(n) Lineal

-¿Que se gana en una lista doblemente enlazada con respecto a una lista simple?

Que pueden recorrerse en ambos sentidos a partir de cualquier nodo, esto es porque a partir de cualquier nodo, siempre es posible alcanzar cualquier nodo de la lista, hasta que se llega a uno de los extremos.

¿En que tiempo puede realizarse la inserción y el borrado de un elemento en una lista circular?

Constante O(1)

¿En que tiempo puede realizarse la inserción y el borrado de un elemento si además la lista es doblemente enlazada?

Constante O(1)

¿Que ocurre si queremos llamar a la función get con posiciones 5, 6 y 7?

Nos toca recorrer en todos los casos la lista hasta esa posición. Crear un array y hacer

luego esto también tiene su coste

mejor usar iteradores …

no se podria hacer directamente get(5),get(6),get(7) y seria constante?

¿Que coste tienen las operaciones que realizamos sobre las colas?

Constante O(1)

¿Es el mismo coste si utilizamos como estructura de la cola un vector del tipo ArrayList que uno del tipo LinkedList?

Si, es costante O(1) ya que utilicemos el tipo que utilicemos, solo podremos acceder al primer elemento y agregar en la ultima posición

¿Que coste tienen las operaciones si utilizamos una lista enlazada simple?

Constante O(1)

¿Que coste tienen las operaciones si utilizamos una lista doblemente enlazada?

Constante O(1)

Colas dobles: permiten inserciones y borrados en ambos extremos.

¿Que coste tienen estas operaciones sobre las diferentes estructuras analizadas?

Lista simple:

Lista doblemente enlazada:

ArrayList:

LinkedList:

TEMA 4
TEMA 4

Algoritmos básicos de ordenación

¿En que hay que fijarse para elegir un buen método de ordenación?

En el numero de comparaciones y numero de movimientos de los datos dependiendo ambas del numero de datos.

¿Costes del mejor caso, peor caso y caso medio del algoritmo ESTABLE de inserción?

Mejor caso: Datos ya ordenados, coste O(n) Peor caso: Datos en orden inverso, coste O(n^2) Caso medio: Datos desordenados, coste O(n^2)

¿Costes del mejor caso, peor caso y caso medio del algoritmo INESTABLE de selección?

Mejor caso:coste O(n^2) Peor caso: coste O(n^2) Caso medio: coste O(n^2)

¿Costes del mejor caso, peor caso y caso medio del algoritmo ESTABLE de intercambio (bublesort)?

Mejor caso:coste O(n) Peor caso: coste O(n^2) Caso medio: coste O(n^2)

Nota: es el peor algoritmo de los 3 tanto en tiempo de ejecución como en numero de comparaciones realizadas.

Algoritmos avanzados de ordenación

¿Costes temporal del mejor caso, peor caso y caso medio del algoritmo ESTABLE y con MEMORIA ADICIONAL de mergesort?

Mejor caso:coste O(n log n) Peor caso: coste O(n log n) Caso medio: coste O(n log n)

¿Costes espacial del mejor caso, peor caso y caso medio del algoritmo de mergesort?

Coste espacial: Lineal O(n), necesita de almacenamiento auxiliar para combinar los vectores

¿Ventaja y desventaja del algoritmo de mergesort?

Ventaja: especialmente adecuado para las listas enlazadas (acceso secuencial a los datos) y para realizar ordenación externa.

Desventaja: necesidad de almacenamiento auxiliar para combinar los vectores.

¿Costes del mejor caso, peor caso y caso medio del algoritmo INESTABLE de heapsort?

Mejor caso:coste O(n log n) Peor caso: coste O(n log n) Caso medio: coste O(n log n)

¿Costes del mejor caso, peor caso y caso medio del algoritmo INESTABLE de Quicksort?

Mejor caso:coste O(n log n) Peor caso: coste O(n^2) Caso medio: coste O(n log n)

¿Ventaja y desventaja del algoritmo de Quicksort?

Ventaja: es el que mejor coste promedio tiene.

Desventaja: para pocos datos a ordenar es mejor utilizar otros métodos como el de selección o inserción

TEMA 5
TEMA 5

¿Es posible reconstruir un arbol a partir de un recorrido?

No es posible, no saldria el arbol original.

¿Y de dos? si creo que es 2
¿Y de dos?
si
creo que es 2

¿Y de tres?

3

1- Dibuja y da los recorridos en inorden, preorden, postorden y por niveles sobre un arbol binario de busqueda inicialmente vacio en el que se han realizado las inserciones en el orden en que se dan a continuación

• 4,8,1,2,9,6,5,0,3,7

• 0,1,2,3,4,9,8,7,6,5

• 4,5,6,7,8,9,3,2,1,0

• 0,1,2,3,4,5,6,7,8,9

2- dibuja y da los recorridos en inorden, preorden, postorden y por niveles de los arboles binarios de busqueda obtenidos en el apartado anterior, tras realizar el borrado de la etiqueta 2

3- idem con la etiqueta 9 y 4

¿Que coste tiene la insercion en ABB?

lineal O(n) , solo contiene un bucle

¿Que coste tiene el borrado en ABB?

Lineal O(n)

Arbol completamente equilibrado. Diferencia entre el numero de nodos entre los subárboles izquierdo y derecho es como máximo uno. Ventajas: búsqueda muy rápida Desventajas: mantenimiento del árbol

Arbol equilibrado (AVL). Diferencia en la altura de los dos subárboles de cualquier nodo en el arbol es cero o uno. Ventajas: busqueda rapida y mantenimiento asequible Desventajas: mantenimiento del arbol en el peor caso (log 2 (n) operaciones, siendo n = numero de nodos)

¿Que valor tendrá el factor de equilibrio en los nodos de un arbol AVL?

0, +1 o -1 sino no seria un árbol equilibrado. Si esta a la derecha es -1 y a la izquierda +1

En los siguientes ejemplos, ¿existe algun arbol AVL, completamente equilibrado o no

equilibrado?

¿Cual es el numero de niveles en un montículo, siendo n el numero de elementos?

niveles=log2(n+1)

¿Cuanto tiempo se necesita para explorar un grafo con n nodos y a aristas?

- Depende de la implementación:

· con listas de adyacencia O(n + a)

· con matriz de adyacencia O(n^2)

¿Cuando interesa la representacion con listas?

cuando el valor de n^2 sea mayor que n+a

¿Existe un unico recorrido en profundidad?¿Que dos factores hay que definir?

No, el grafo se puede recorrer de muchas formas. / numero de nodos y numero de aristas

¿Cuanto tiempo se necesita para explorar un grafo con n nodos y a aristas?

- Depende de la implementación:

· con listas de adyacencia O(n + a)

· con matriz de adyacencia O(n^2)

¿Existe un unico recorrido en anchura?¿Que dos factores hay que definir?

Si, Solo hay una forma de recorrerlo / numero de nodos y numero de aristas

¿Como definir una funcion h que permita acceder de inmediato a una posicion?