Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE DATOS
GRUPO 03
Se les llama estructuras dinámicas, porque las mismas
pueden cambiar tanto de forma como de tamaño
durante la ejecución del programa. Y estructuras no
lineales porque cada elemento del árbol puede tener
más de un sucesor.
Por definicion, es una estructura recursiva
01 ya que cada subárbol es, en sí mismo, un
árbol binario.
Peso: Conocemos como peso a el número de nodos que tiene un Árbol. Este factor es importante
porque nos da una idea del tamaño del árbol y el tamaño en memoria que nos puede ocupar en
tiempo de ejecución.
Orden: El Orden de un árbol es el número máximo de hijos que puede tener un Nodo. Es una
constante que se define antes de crear el árbol. Este valor no se calcula, sino que ya se conoce
cuando se diseña la estructura.
Grado: El grado se refiere al número mayor de hijos que tiene alguno de los nodos del Árbol y
esta limitado por el Orden, ya que este indica el número máximo de hijos que puede tener un
nodo.
Sub-Árbol: Conocemos como Sub-Árbol a todo Árbol generado a partir de una sección
determinada del Árbol, Por lo que podemos decir que un Árbol es un nodo Raíz con N Sub-
Árboles.
Árboles binarios distintos. Dos árboles binarios son distintos cuando sus estructuras son
diferentes.
Árboles binarios similares. Dos árboles binarios son similares cuando sus estructuras son
idénticas, pero la información que contienen sus nodos difiere entre sí.
Árboles binarios equivalentes. Los árboles binarios equivalentes se definen como aquellos
que son similares y además los nodos contienen la misma información.
Arbol binario completo: Un árbol binario completo de profundidad n es un árbol en el que,
para cada nivel, del 0 al nivel n-1 tiene un conjunto lleno de nodos y todos los nodos hoja a
nivel n ocupan las posiciones más a la izquierda del árbol.
Arbol binario lleno: Es un árbol lleno donde todos los nodos tienen cero o dos hijos. Es decir,
no existe un nodo que tenga un solo hijo.
Arbol binario degenerados: Árbol Binario de Búsqueda: AB en el que se garantiza que
Es un tipo especial los valores en los nodos izquierdos sean menores que el
denominado árbol degenerado valor del nodo raíz, y los valores en los nodos derechos son
en el que hay un solo nodo mayores. Esto facilita la búsqueda eficiente de elementos
hoja y cada nodo no hoja sólo en el árbol.
tiene un hijo. Un árbol Arbol binario equilibrados: Cuando un árbol binario de
degenerado es equivalente a búsqueda crece descontroladamente hacia un extremo su
una lista enlazada. rendimiento puede disminuir considerablemente. Para
mantener la eficiencia de operación surgen los árboles
equilibrados o balanceados.
REPRESENTACIÓN POR PUNTEROS
CADA NODO DE UN ÁRBOL SERÁ UN REGISTRO QUE CONTIENE AL MENOS TRES CAMPOS:
• UN CAMPO DE DATOS CON UN TIPO DE DATOS.
• UN PUNTERO AL NODO DEL SUBÁRBOL IZQUIERDO (QUE PUEDE SER NULO-NULL).
• UN PUNTERO AL NODO DEL SUBÁRBOL DERECHO (QUE PUEDE SER NULO-NULL).
REPRESENTACIÓN POR LISTAS ENLAZADAS
*
/ \
+ 5
/ \
2 3
Ordenamiento de Burbuja
Ordenamiento Quick Sort
Ordenamiento Radix
Ordenamiento Inserción directa
Ordenamiento Shell
Ordenamiento Intercalación
Basada en comparar elementos adyacentes de la lista e intercambiar sus valores si están
desordenados.
Así se dice que los valores más pequeños burbujean hacia el primer elemento de la lista,
mientras que los valores más grandes se hunden hacia el final de la lista
VENTAJAS DESVENTAJAS
se toma un valor del arreglo como pivote, y se mueven todos los elementos menores que este pivote a
su izquierda, y los mayores a su derecha.
VENTAJAS DESVENTAJAS
VENTAJAS DESVENTAJAS
No se requiere conocer la
cantidad de digitos que contiene
el elemento.
ÍNDICE Matriz de entrada Primera iteración Segunda iteración Tercera iteración Cuarta iteración
ventajas
fácil de implementar
uso mínimo de memoria
desventajas
lento
realiza altas comparaciones
Ejemplo de Inserción:
Ordenar el conjunto de los siguientes elementos
{25,3,12,19,2,1,9,6}
También conocido como ordenación por inserción con incrementos decrecientes, siendo una
mejora de los métodos de inserción directa.
Ventajas
Es un algoritmo simple teniendo un tiempo de ejecución aceptable.
Es uno de los algoritmos más rápidos.
No requiere memoria adicional.
Fácil implementación.
Adecuado para ordenar entradas de datos moderadamente grandes (decenas de millares)
Desventajas
Su complejidad es difícil de calcular y depende mucho de la secuencia de incrementos que
utilice.
Shell es un algoritmo no estable porque se puede perder el orden relativo inicial con facilidad.
Es menos eficiente que los métodos Merge, Heap y Quick.
Realiza numerosas comparaciones e intercambios.
Ejemplo Shell:
Ordenar el conjunto de los siguientes elementos
{25,3,12,19,2,1,9,6}
Consiste en dividir, ordenar y unir un arreglo de modo que la unión esté también ordenada.
Para ello, de izquierda a derecha e ir cogiendo el menor de los dos elementos.
Ventajas
Muy estable cuando la cantidad de registros a acomodar es de índice bajo, en caso contrario
gasta el doble del espacio que ocupan inicialmente los datos.
Efectivo para conjunto de datos a los que se puede acceder secuencialmente (arreglos, vectores,
etc.)
Desventajas
Definido recursivamente. Si se deseara implementarla no recursivamente se tendría que
emplear una pila y se requeriría un espacio adicional de memoria para almacenarla.
Ejemplo de Intercalación:
Ordenar el conjunto de los siguientes elementos
{25,3,12,19,2,1,9,6}
Los algoritmos de ordenamiento externo aquellos que para su
son procesos de ordenación de objetos uso utiliza la memoria
mediante archivos auxiliares secundaria. Estos
algoritmos se usan
cuando se tienen
registros y/o archivos
y estos pueden
quedar almacenados
y ordenados.
MECLA
EFICIENTE CON DATOS GRANDES LENTO
EXTERNA