Está en la página 1de 1

CARACTERÍSTICAS

TIPO DE DATO Estáticas Dinámicas

ESTRUCTURAS DE
Arreglos Lineales NO lineales
DATOS

TIPOS DE
Unidimensionales Bidimensionales Multidimensionales Pilas Colas Listas Árboles Gráfos
ESTRUCTURAS

Un árbol es una estructura (posiblemente no


lineal) de datos compuesta de nodos, se define como G=(V,A), siendo V un
Utilizan una estructura filo (first in last vértices y aristas que es acíclica. Un árbol conjunto cuyos elementos son los
Son arreglos de dos dimensiones, Una estructura fifo (first in first out), el Una lista enlazada es un tipo de dato
SEGÚN SU Se puede definir de tres, cuatro y out), el primero que entra será el ultimo que no tiene ningún nodo se llama árbol vértices del grafo y A un conjunto cuyos
Son arreglos de una sola dimensión puede verse como una tabla de filas primero que entra será el primero en auto- referenciado porque contienen un
DEFINICIÓN hasta n dimensiones en salir, que permite almacenar y vacío o nulo. Un árbol que no está vacío elementos son las aristas, las cuales son
y columnas salir. puntero o link a otro dato del mismo tipo. consta de un nodo raíz y potencialmente
recuperar datos. pares (ordenados si el grafo es dirigido)
muchos niveles de nodos adicionales que de elementos en V.
forman una jerarquía.

• Cola simple: estructura lineal donde los • Listas simplemente enlazadas: cada nodo
elementos salen en el mismo orden en tiene un campo que apunta al siguiente • Árbol binario: árbol binario lleno,
Son tablas de valores en las que que llegan. nodo. árbol binario perfecto, árbol binario • Grafo simple. o simplemente grafo
• PUSH (pila, elemento): introduce un
• Cola circular : representación lógica de • Listas doblemente enlazadas: cada nodo
agrupan muchos datos del mismo elemento en la pila. También se le
una cola simple en un arreglo. dispone de un puntero que apunta al completo • Multigrafo. o pseudografo
SEGÚN SUS Homogéneos y ordenados: todos los tipo, en donde cada elemento se Cada elemento del arreglo se puede conoce como poner o meter. • Árbol avl • Grafo dirigido.
• Cola de prioridades: estructura lineal siguiente nodo, y otro que apunta al nodo
• Pop (pila): elimina un elemento de la pila.
ELEMENTOS/ O SUS elementos son del mismo tipo y son puede trabajar individualmente y se identificar usando la cantidad de También se le conoce como sacar o
en la cual los elementos se insertan en anterior. • Árbol rojo-negro • Grafo etiquetado.
TIPOS finitos puede referenciar con un mismo subíndices necesarios cualquier posición de la cola y se • Listas lineales: son listas que tienen un • Árbol multicamino • Grafo aleatorio.
quitar.
remueven solamente por el frente. comienzo y un final.
nombre • Vacia(pila): función booleana que indica
• Cola doble (bicola) : estructura lineal en • Listas circulares: en estas listas el último
• Árbol AA • Hipergrafo.
si la pila esta vacía o no. • Árbol -B+ • Grafo infinito
la que los elementos se pueden añadir elemento apunta al primero, por lo tanto
o quitar por cualquier extremo de la podríamos estar recorriéndolas siempre, ya • Árbol de segmento
cola (cola bidireccional). que no tienen final.

• Insertar vértice: consiste en añadir una


nueva entrada en la tabla de vértices para el
nuevo nodo
• Enumerar todos los elementos
• Insertar arista: Cuando se inserte una nueva
• Crear (constructor): crea la pila vacía. • Crear: con esta operación se genera todo lo • Enumerar la sección de un árbol
arista en el grafo, habrá que añadir un
• Tamaño (size): regresa el número de necesario para trabajar con una lista. • Buscar un elemento
• Crear: se crea la cola vacía. nuevo nodo a la lista de adyacencia del
elementos de la pila. • Insertar: permite añadir un elemento a la • Añadir un nuevo elemento en una
• Encolar: se añade un elemento a la nodo origen
• Apilar (push): añade un elemento a la lista. En este caso debemos indicar al determinada posición del árbol
El espacio total que ocupa es el El espacio que los arreglos ocupan en cola. Se añade al final de esta. • Eliminar vértice: Esta operación es inversa a
SEGÚN EL TAMAÑO/ pila. programa si vamos a añadir el elemento • Borrar un elemento
• Desencolar: (sacar, salir, eliminar): se la inserción de vértice. En este caso el
Debe ser establecido en tiempo de producto del tamaño de las memoria se reserva en el momento • Desapilar (pop): lee y retira el elemento nuevo al comienzo de la lista o al final de la • Podar: Borrar una sección entera de un
O SUS elimina el elemento frontal de la cola, procedimiento a realizar es la eliminación de
compilación dimensiones, o lo que ocupe el tipo de realizar la declaración de los superior de la pila.
es decir, el primer elemento que entró.
misma. árbol
la tabla de vértices del vértice en sí.
OPERACIONES • Leer último (top o peek): lee el elemento • Eliminar: se usará para borrar un elemento • Injertar: Añadir una sección entera a un
de dato asociado a la matriz mismos • Frente: (consultar, front): se devuelve • Eliminar arista: Mediante esta operación se
superior de la pila sin retirarlo. de la lista. También podremos indicar si árbol
el elemento frontal de la cola, es decir, borra un arco del grafo.
• Vacía (empty): devuelve cierto si la pila queremos borrar el primero o el último. • Buscar la raíz de algún nodo
el primer elemento que entró. • Otras operaciones: También podemos
está sin elementos o falso en caso de • Vacía: devolverá cierto si la lista está vacía. • Representar cada nodo como una variable
encontrarnos con ejecución de algoritmos
que contenga alguno. en el montículo con punteros.
que busquen caminos más cortos entre dos
• Representar el árbol con un vector
vértices, entre otros.

• Se puede determinar en un tiempo fijo y


• Puede recuperar la información constante si un enlace(arco) pertenece o no
• Partiendo de un archivo al grafo.
• Son mas seguros El principal beneficio de las listas • Es fácil determinar si existe o no un arco o
• Cada elemento tiene una desordenado los arreglos
• Menos problemas en cuanto a enlazadas respecto a los vectores enlace, solo se debe posicionar en la matriz.
posición que se identifica llegarán a permitir generar los • Almacena los datos de una forma
que datos validos sean No es preciso conocer la cantidad de convencionales es que el orden de los • Es fácil determinar si existe un ciclo en el
mediante dos índices: el de su datos con cierto orden rápida y eficiente. grafo, basta multiplicar la matriz por ella
eliminados por error o a que Con esta disposición se accede a elementos en tiempo de compilación. elementos enlazados puede ser diferente
fila y el de su columna • Es adecuado para almacenar o • Excelente para la búsqueda, esta misma n veces hasta obtener la matriz
VENTAJAS existan datos no validos en el cualquier elemento de la estructura de Ni las inserciones ni las eliminaciones al orden de almacenamiento en la
• Es mas eficiente su leer bloques secuenciales de siempre es inmediata, ya que los nula(no hay ciclos) o bien una sucesión
arreglo datos en tiempo constante. implican realizar corrimientos de los memoria o el disco, permitiendo que el periódica de matrices(hay ciclo)
almacenamiento de datos datos muy grandes, como datos se van ingresando de forma
• Son mas claros elementos de la lista. orden de recorrido de la lista sea diferente • La lista de adyacencia requiere un espacio
• Es menor el riesgo de errores aplicaciones con grandes bases ordenada. proporcional a la suma del número de
• Ocupan menos memoria del al de almacenamiento.
de interpretación de datos, imágenes y videos, vértices más el número de enlaces(arcos).
ordenador
entre otros Hace buen uso de la memoria.
• Se utiliza bastante cuando el número de
enlaces es mucho menor que O(n2)

• Utilizan más memoria que los arreglos debido


al almacenamiento utilizado por sus punteros.
• Las dificultades surgen en las listas
enlazadas cuando se trata de invertir el
desplazamiento. Por ejemplo, las listas • Se requiere un almacenamiento |v|
enlazadas individualmente son incómodas *|v|. Es decir O(n2).
• Al asignar el arreglo en tiempo de para navegar hacia atrás y mientras que las
• El tamaño de las matrices es • Solo al leer o examinar la matriz
compilación debe establecerse un No permite el acceso directo a un listas enlazadas doblemente son algo más
fijo, si no conoce la cantidad de fáciles de leer, la memoria se desperdicia en puede llevar un tiempo de O(n2).
límite a priori sobre el número de elemento arbitrario de la lista. Para
elementos para almacenar, la asignación de espacio para un puntero • La representación con lista de
Limitan en cuanto a capacidad de elementos que pueden ser acceder al i-ésimo elemento, La implementación puede llegar a ser
DESVENTAJAS Su complejidad es mayor pueden surgir problemas si el hacia atrás. adyacencia es que puede llevar un
maniobra almacenados en las listas. debemos recorrer la lista, • Los nodos en una lista enlazada deben leerse compleja.
espacio es menor del necesario tiempo O(n) determinar si existe un
• Para inserciones y eliminaciones comenzando por el primer nodo, en orden desde el principio ya que las listas
• Insertar elementos de forma arco del vértice i al vértice j, ya que
frecuentes hay que hacer hasta llegar al elemento deseado. enlazadas son inherentemente de acceso
ordenada es un proceso lento secuencial. pueden haber O(n) vértices en la
corrimientos costosos.
• Los nodos se almacenan de forma no lista de adyacencia. Para el vértice
contigua, lo que aumenta considerablemente i.
el tiempo requerido para acceder a elementos
individuales dentro de la lista, especialmente
con un caché de CPU.

También podría gustarte