Вы находитесь на странице: 1из 34

Estructuras de Datos

Que es una Estructura de Datos?

Estructura de datos es "una forma de


almacenar y organizar los datos" con el fin
de apoyar eficientes inserciones, consultas,
bsquedas, actualizaciones y eliminaciones.

Clasificacin de las Estructuras de


Datos

Estructuras de datos con Bibliotecas Incorporadas

Estructuras de Datos Lineales

Matrices estticas

STL <vector>

STL <stack>

STL <queue>

STL <list>

Estructuras de Datos No Lineales

Arboles Binarios de Bsqueda / STL <map


map> y STL <sets>

Heap

Clasificacin de las Estructuras de


Datos

Estructuras de datos con Nuestras Propias Bibliotecas

Grafos

Matriz de Adyacencia

Lista de Adyacencia

Matriz de Incidencia

Estructura de rbol Padre-Hijo

Conjuntos Disjuntos Union-Find

rbol de Segmento

Estructuras de datos con Bibliotecas


Incorporadas

Matrices Estticas
Una vez establecido el tamao de la matriz sta no podr
cambiarse durante el tiempo de ejecucin.

Sintaxis

Vector
tipo identificador [tamao];
Matriz
tipo identificador [tamao][tamao];

Ejemplos
int V[5]
char M[2][10]

STL <vector>
La estructura de la clase vector est
pensada para operar con arreglos
unidimensionales de datos

Sintaxis
vector<tipo> identificador
Tabla de Mtodos

Ejemplos

STL <stack>
Modo de acceso a sus elementos es de tipo LIFO (Last In First Out
ltimo en entrar, Primero en salir)
Tabla de Mtodos

Ejemplo

STL <queue>
Modo de acceso a sus elementos es de tipo FIFO (primero en
entrar, primero en salir )
Tabla de Mtodos

Ejemplo

STL <List>
Tabla de Mtodos

Arboles Binarios de Bsqueda


Un rbol binario de bsqueda o ABB, es un rbol binario en el cual
para todo elemento, los elementos mayores a l, se ubican en su
rama derecha, mientras que los elementos menores van en su rama
izquierda. Cada elemento se almacena una sola vez por lo que no
existen elementos repetidos. -> STL <map
map> y STL <set>

Heap - Montn
Un montculo (heap en ingls) es una estructura de datos del tipo
rbol con informacin perteneciente a un conjunto ordenado. Los
montculos mximos tienen la caracterstica de que cada nodo padre
tiene un valor mayor que el de cualquiera de sus nodos hijos, mientras
que en los montculos mnimos, el valor del nodo padre es siempre
menor al de sus nodos hijos. -> STL <queue
queue> -> (priority_queue)

Heap - Montn

Estructuras de datos con Nuestras


Propias Bibliotecas

Grafos
Un grafo es un conjunto de objetos llamados vrtices o nodos
unidos por enlaces llamados aristas o arcos
arcos, que permiten representar
relaciones binarias entre elementos de un conjunto.

Clasificacin
Matriz de Adyacencia
Matriz de Incidencia
Lista de Adyacencia
Estructura de rbol Padre-Hijo

Matriz de Adyacencia

Matriz de Incidencia

Lista de Adyacencia

Estructura de rbol Padre


Padre-Hijo

El grafo es un rbol cuando:

El grafo conexo sin ciclos

E=V1
-

E = Aristas

V = Vrtices

Conjuntos Disjuntos
Union-Find es una estructura de datos que modela una coleccin de
conjuntos disjuntos (disjoint-sets)
sets) y esta basado en 2 operaciones:
operaciones

Find( A ): Determina a cual conjunto pertenece el elemento A.

Union( A, B ): Une todo el conjunto al que pertenece A con todo el


conjunto al que pertenece B, dando como resultado un nuevo
conjunto basado en los elementos tanto de A como de B.
B

Estas operaciones servirn para la implementacin del algoritmo de


Kruskal.

Conjuntos Disjuntos

Inicializacin

Conjuntos Disjuntos

Mtodo Find Find(x)

Conjuntos Disjuntos

Mtodo Find Find(x)

Conjuntos Disjuntos

Mtodo Find Find(x)


En este caso no estn en la misma componente conexa.

Conjuntos Disjuntos

Mtodo Union Union( x , y )

Conjuntos Disjuntos

Mtodo Union Union( x , y )

Conjuntos Disjuntos

Mtodo Union Union( x , y )

Conjuntos Disjuntos

Mtodo Union Union( x , y )

Conjuntos Disjuntos

Mtodo Union Union( x , y )

Conjuntos Disjuntos

Mtodo Union Union( x , y )

C++ Reference

Вам также может понравиться