Buscador de Informacion, Ciencia y Tecnologia.

ESTRUCTURA DE DATOS RESUMEN DE CONTENIDOS

Apuntador: Un apuntador es una elemento , que almacena como contenido una dirección de memoria, de otra variable a la que apunta, dicha dirección representa el lugar donde se almacena un dato.

Declaración de Apuntadores:

Ejemplo: int *apunt; // Declaración del apuntador apunt

// Se dice que : "apunt va a apuntar a

// variables de tipo int"

Operaciones con Apuntadores:

  1. Asignación

int a = 15;

int *p, *q;

q = &a;

p = q; /* se asigna la dirección que contiene q a p */

cout<<p; /* imprime la dirección almacenad en p. */

  1. +, -, ++, --

Int p;

p = p + 1; p avanza un entero.

p = p – 2; p retrocede dos enteros.

p++; p apunta al siguiente entero.

p--; p apunta al entero anterior.

  1. Comaparación

int a;

int *b, *c;

if (b + n > c)

b = b +2;

Un kilobytes de memoria equivale a 1,024 bytes.

1 Byte es igual a 8 Bits

Tipo

Datos almacenados

Nº de Bits

Valores posibles (Rango)

Rango usando unsigned

char

Caracteres

8

-128 a 128

0 a 255

int

enteros

16

-32.767 a 32.767

0 a 65.535

long

enteros largos

32

-2.147.483.647 a 2.147.483.647

0 a 4.294.967.295

float

Nums. reales (coma flotante)

32

3,4E-38 a 3,4E38

double

Nums. reales (coma flotante doble)

64

1,7E-307 a 1,7E308

2.1. Variables estáticas

Las variables estáticas son las comúnmente creadas por el programador.

Son creadas o asignadas previa ejecución al programa.

Ej:

Char Mi_Letrica;

Int Mi_Enterito;

Float Mi_Decimalito;

Variables dinámicas

Las variables dinámicas deben su nombre al hecho de que pueden ser creadas

y destruidas durante el tiempo de ejecución de un módulo.

Para el manejo de variables dinámicas se hace indispensable la utilización de

apuntadores, así como de funciones especiales para la asignación y liberación

de la memoria correspondiente a dichas variables.

En el lenguaje C existen entre otras las funciones Malloc() y Free() para la

asignación y liberación de memoria dinámicamente respectivamente.

Igualmente se utilizan los operadores New y Delete

UNIDAD 2. ESTRUCTURAS DINÁMICAS LINEALES

_________________________________

Pilas (stack)

Una pila es un tipo de lista lineal en la cual los elementos a insertar y borrar son de la parte superior de la misma, cima o tope( Top)

"el último elemento en entrar es el primero en salir", en inglés el acrónimo LIFO(Last Input, First Out).

Ejemplos:

La pila es una estructura con numerosas analogías en la vida real: pila de

platos, una pila de monedas, una pila de camisas, una pila de gatos, etc, como

se muestra en la imagen.

4.2. Operaciones básicas con pilas:

Las pilas tienen un conjunto de operaciones muy limitado, sólo permiten las

operaciones de "push" y "pop":

Push: Añadir un elemento al final de la pila.

Pop: Leer y eliminar un elemento del final de la pila.

Capítulo 5. Colas

5.1. Conceptos básicos

Las colas son otro tipo de estructura lineal de datos, similar a las pilas,

diferenciándose de ellas en el modo de insertar/eliminar elementos.

Una cola es una estructura lineal de datos, en la que las eliminaciones se realizan al principio de la lista, frente, y las inserciones se realizan en el otro extremo, final. En las colas el elemento que entró de primero sale también de primero; por ello se conocen como listas FIFO (first-in, first-out, <<primero en entrar, primero en salir>>). Así pues, la diferencia con las pilas reside en el modo de entrada/salida de datos; en las colas las inserciones se realizan al final de la lista, no al principio. Por ello, las colas se usan para almacenar datos que necesitan ser procesados según el orden de llegada.

5.2 Aplicación de las estructuras Lineales tipo Colas

En la vida real se tiene ejemplos numerosos de colas: la cola de un autobús,

cola de un cine, caravana de coches en una calle, etc. En todas ellas el primer

elemento (pasajero, coche, etc) que llega es el primero que sale. Cola en un banco.etc

5.3. Operaciones básicas con colas

De nuevo nos encontramos ante una estructura con muy pocas operaciones

disponibles. Las colas sólo permiten añadir y leer elementos:

· Añadir: Inserta un elemento al final de la cola.

· Leer: Lee y elimina un elemento del principio de la cola.

Las operaciones en detalle que se pueden realizar con una cola son:

· Acceder al primer elemento de la cola.

· Añadir un elemento al final de la cola.

· Eliminar el primer elemento de la cola.

· Vaciar la cola.

· Verificar el estado de la cola: vacía, llena.

Ejemplo visual

colas estructura de datos

6.1 Concepto de Listas

Las listas deacuerdo a su estructura se han dividido en cuatro grandes

categorías:

1.- Listas Simplemente enlazadas

2.- Listas Doblemente enlazadas

3.- Listas Circular simplemente enlazada

4.- Lista circular doblemente enlazada

Listas simplemente enlazadas

Las listas simplemente enlazadas son un conjunto de datos organizados de manera sucesiva.

Las listas generalmente se componen de nodos los cuales se interconectan de manera secuencial, un dato con otro; Cuando una lista esta vacía su valor es nulo o NULL.

Cuando el dato de una lista no contiene un valor se dice que es nulo.

6.3. Operaciones con las listas simplemente enlazadas

Las operaciones que se pueden realizar con listas lineales contiguas son:

1. Insertar, eliminar o localizar un elemento.

2. Determinar el tamaño – número de elementos – de la lista.

3. Recorrer la lista para localizar un determinado elemento.

4. Clasificar los elementos de la lista en orden ascendente o descendente.

5. Unir dos o más listas en una sola.

6. Dividir una lista en varias sublistas.

7. Copiar la lista.

8. Borrar la lista.

6.5. Listas doblemente enlazadas

Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene

dos enlaces, uno al nodo siguiente, y otro al anterior.

6.5.1. Operaciones básicas con listas doblemente enlazadas:

De nuevo tenemos las mismas operaciones sobre este tipo listas:

· Añadir o insertar elementos.

· Buscar o localizar elementos.

· Borrar elementos.

· Moverse a través de la lista, siguiente y anterior.

clip_image0024

6.6. Listas circulares

Las listas circulares son un conjunto de datos organizados de manera secuencial pero a diferencia de las listas simplemente enlazadas, el dato final no apunta a Null, antes bien lo hace al primer elemento de la lista.

clip_image0044

puntero

0 comentarios: