Académique Documents
Professionnel Documents
Culture Documents
que
nos
permite
construir
las
disponibles en C y C++ (
) tienen una importante
limitacin: no pueden cambiar de tamao durante la ejecucin.
Los
estn compuestos por un determinado nmero de elementos,
nmero que se decide en la fase de diseo, antes de que el programa
ejecutable sea creado.
Las estructuras de datos estn compuestas de otras pequeas
estructuras a las que llamaremos nodos o elementos, que agrupan los
datos con los que trabajar nuestro programa y adems uno o ms
punteros autorreferenciales, es decir, punteros a objetos del mismo tipo
nodo.
Una estructura bsica de un nodo para crear listas de datos seria:
struct nodo {
int dato;
struct nodo *otronodo;
};
El campo "
" puede apuntar a un objeto del tipo nodo. De este
modo, cada nodo puede usarse como un ladrillo para construir listas de
datos, y cada uno mantendr ciertas relaciones con otros nodos.
Para acceder a un nodo de la estructura slo necesitaremos un puntero
a un nodo.
o apilan, de modo que slo el elemento que est encima de la pila puede ser
ledo, y slo pueden aadirse elementos encima de la pila.
Colas: otro tipo de listas, conocidas como listas FIFO (First In, First Out: El
primero en entrar es el primero en salir). Los elementos se almacenan en fila,
pero slo pueden aadirse por un extremo y leerse por el otro.
Listas circulares: o listas cerradas, son parecidas a las listas abiertas, pero el
ltimo elemento apunta al primero. De hecho, en las listas circulares no puede
hablarse de "primero" ni de "ltimo". Cualquier nodo puede ser el nodo de
entrada y salida.
Listas doblemente enlazadas: cada elemento dispone de dos punteros, uno a
punta al siguiente elemento y el otro al elemento anterior. Al contrario que las
listas abiertas anteriores, estas listas pueden recorrerse en los dos sentidos.
Arboles: cada elemento dispone de dos o ms punteros, pero las referencias
nunca son a elementos anteriores, de modo que la estructura se ramifica y
crece igual que un rbol.
Arboles binarios: son rboles donde cada nodo slo puede apuntar a dos
nodos.
Arboles binarios de bsqueda (ABB): son rboles binarios ordenados. Desde
cada nodo todos los nodos de una rama sern mayores, segn la norma que se
haya seguido para ordenar el rbol, y los de la otra rama sern menores.
Arboles AVL: son tambin rboles de bsqueda, pero su estructura est ms
optimizada para reducir los tiempos de bsqueda.
Arboles B: son estructuras ms complejas, aunque tambin se trata de rboles
de bsqueda, estn mucho ms optimizados que los anteriores.
Tablas HASH: son estructuras auxiliares para ordenar listas.
Grafos: es el siguiente nivel de complejidad, podemos considerar estas
estructuras como rboles no jerarquizados.
Diccionarios.
Una estructura de datos puede ser clasificada como lineal no lineal de acuerdo la relacin
entre los elementos que la forman.
En una estructura lineal los elementos tienen una relacin 1 a 1.
Ejemplos de estructuras de datos lineales: listas, pilas y colas.
En una estructura no lineal, los elementos tienen una relacin 1 a M, M a 1 M a M.
Ejemplos de estructuras de datos no lineales: rboles y grafos.
Declaracin de Apuntadores
Por ejemplo:
Variable
Referenciada
Struct contact {
Int n1;
Float n2;
Char st[10];
} dl;
100
n1
104
n2
108
d1
st
117
200
100
4 bytes
&d1
como
Mapa conceptual
Cuestionario.
1. Ocupa un espacio en memoria, el cual varia durante el tiempo de
ejecucin de un programa.
a) Estructura Dinmica b) Estructura Esttica
c)Estructura Dos
b) Lineal y de flujo
c)Flujo y estado
b) Listas
c) Grafos
d) rbol
b) Cadenas
c) Punteros
b) Estructura Esttica
c)Listas
a) Cierto
b) Falso
a) Listas circulares
Cierto o falso
b) Cierto
b) Falso