You are on page 1of 6

PROFESOR

DALILA TENORIO NUEZ


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){


String posicion = "";
for(int i = 0; i < arreglo.length; i++){
if(arreglo[i] == valor){
posicion += i+",";
}
}
return posicion;
}

f) Define que es una Estructura de datos


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.

You might also like