ESTRUCTURA DE DATOS DS-DDOO-1601-B1-004 JUAN VICTOR TAPIA ES1511107612 ASIGNACION A CARGO DEL DOCENTE
SELECCIONA LA RESPUESTA CORRECTA.
1. El comportamiento de una Cola es: a) LIFO b) FIFO anteriores
c) FILO
b)
Ninguna
de
las
2. Cul es la clase de la Pila que inserta un nuevo dato?
a) Push() b) Pop
c)EstaLlena()
c)EstaVacia()
3. Cul es la clase de la Pila que elimina un dato?
a) Push()
b) Pop
c)EstaLlena()
c)EstaVacia()
4. Cul es la clase genrica para administrar una Pila?
a) ArrayList
b) Stack
c) Queue
d) List
DEFINE DE MANERA BREVE LOS SIGUIENTES CONCEPTOS
a) Define el concepto de rbol. Los arboles representan las estructuras no lineales y dinmicas de datos ms importantes en computacin: Dinmicas: puesto que la estructura puede cambiar durante la ejecucin del programa. No lineales: puesto que a cada elemento del rbol puede seguirle varios elementos. Definicin de rbol en ciencia de la computacin: es un conjunto de nodos y lneas. Un nodo es un elemento de informacin que reside en el rbol. Una lnea es un par de nodos ordenados <u, v>, y a la secuencia de lneas se le denomina ruta (path).
b) Define el concepto de rbol binario
es una estructura de datos en la cual cada nodo puede tener un hijo izquierdo y un hijo derecho. No pueden tener ms de dos hijos (de ah el nombre "binario"). Si algn hijo tiene como referencia a null, es decir que no almacena ningn dato, entonces este es llamado un nodo externo. En el caso contrario el hijo es llamado un nodo interno. Usos comunes de los rboles binarios son los rboles binarios de bsqueda, los montculos binarios y Codificacin de Huffman. c) Explica el recorrido inorden
Para recorrer un arbol binario no vacio en inorden (simetrico), hay que
realizar las siguientes operaciones recursivamente en cada nodo: 1.Atraviese el sub-arbol izquierdo 2.Visite la raiz 3.Atraviese el sub-arbol derecho
d) Describe el mtodo de ordenacin Quicksort
El ordenamiento por particin (Quick Sort) se puede definir en una forma ms conveniente como un procedimiento recursivo. Tiene aparentemente la propiedad de trabajar mejor para elementos de entrada desordenados completamente, que para elementos semiordenados. Esta situacin es precisamente la opuesta al ordenamiento de burbuja. Este tipo de algoritmos se basa en la tcnica "divide y vencers", o sea es ms rpido y fcil ordenar dos arreglos o listas de datos pequeos , que un arreglo o lista grande. Normalmente al inicio de la ordenacin se escoge un elemento aproximadamente en la mitad del arreglo, as al empezar a ordenar, se debe llegar a que el arreglo este ordenado respecto al punto de divisin o la mitad del arreglo. Se podr garantizar que los elementos a la izquierda de la mitad son los menores y los elementos a la derecha son los mayores. Los siguientes pasos son llamados recursivos con el propsito de efectuar la ordenacin por particin al arreglo izquierdo y al arreglo derecho, que se obtienen de la primera fase. El tamao de esos arreglos en promedio se reduce a la mitad.
As se contina hasta que el tamao de los arreglos a ordenar es 1, es
decir, todos los elementos ya estn ordenados. En promedio para todos los elementos de entrada de tamao n, el mtodo hace O(n log n) comparaciones, el cual es relativamente eficiente.
e) Describe el funcionamiento de la bsqueda secuencial
El mtodo de bsqueda secuencial consiste en ir comparando el elemento o criterio de bsqueda con cada uno de los elementos en el arreglo, esto se hace recorriendo el arreglo y detenindose en cada elemento y hacer la comparacin, en caso de ser verdadera la comparacin, guardar la posicin el elemento o dato.
public int busquedaSecuencial(int []arreglo,int dato){
int posicion = -1; for(int i = 0; i < arreglo.length; i++){//recorremos todo el arreglo if(arreglo[i] == dato){//comparamos el elemento en el arreglo con el buscado posicion = i;//Si es verdadero guardamos la posicion break;//Para el ciclo } } return posicion; } Este mtodo nos halla la posicin del elemento o dato buscado pero en su primero coincidencia, si queremos que nos halle la posicin de la ultima coincidencia, lo nico que tenemos que hacer es eliminar la linea donde aparece 'break'. Si el resultado del mtodo anterior es -1, significa que el elemento no se encuentra en el arreglo.
Ahora cabe la pregunta, y si el elemento que deseo buscar aparece
varias veces en el arreglo y yo deseo conocer cada una de estas posiciones, como hago? Lo que hacemos es deshacernos de la linea 'break' para que el vector sea recorrido en su totalidad, y de alguna forma ir almacenando cada una de las posiciones resultantes de las comparaciones verdaderas.
public String busquedaSecuencial2(int []arreglo,int valor){
Es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulacin. Un dato elemental es la mnima informacin que se tiene en un sistema. Una estructura de datos define la organizacin e interrelacin de stos y un conjunto de operaciones que se pueden realizar sobre ellos. Las operaciones bsicas son:
Alta, adicionar un nuevo valor a la estructura.
Baja, borrar un valor de la estructura. Bsqueda, encontrar un determinado valor en la estructura para realizar una operacin con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estn ordenados)... Otras operaciones que se pueden realizar son: Ordenamiento, de los elementos pertenecientes a la estructura.
Apareo, dadas dos estructuras originar una nueva ordenada y que
contenga a las apareadas. Cada estructura ofrece ventajas y desventajas en relacin a la simplicidad y eficiencia para la realizacin de cada operacin. De esta forma, la eleccin de la estructura de datos apropiada para cada problema depende de factores como la frecuencia y el orden en que se realiza cada operacin sobre los datos.