Professional Documents
Culture Documents
Es una forma de organizar un conjunto de datos elementales (un dato elemental es la mnima informacin que se tiene en el sistema) con el objetivo de facilitar la manipulacin de estos datos como un todo o individualmente.
Pila: Una pila (stack en ingls) es una lista ordinal o estructura de datos en la
que el modo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out, ltimo en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el rea de informtica debido a su simplicidad y ordenacin implcita de la propia estructura.
Cola :Una
secuencia de elementos en la que la operacin de insercin push se realiza por un extremo y la operacin de extraccin pop por el otro. Tambin se le llama estructura FIFO (del ingls First In First Out), debido a que el primer elemento en entrar ser tambin el primero en salir.
Struct cola { Tipo variable; Struct cola * sig; } *CAB=NULL, * AUX=NULL, *FIN=NULL
Listas:
clasificarlas es por la forma de acceder al siguiente elemento: Listas enlazadas Listas doblemente enlazadas Listas circulares
Una lista enlazada o encadenada es una coleccin de elementos nodos, en donde cada uno contiene datos y un enlace o liga. Un nodo es una secuencia de caracteres en memoria dividida en campos (de cualquier tipo). Un nodo siempre contiene la direccin de memoria del siguiente nodo de informacin si este existe. Un apuntador es la direccin de memoria de un nodo La figura siguiente muestra la estructura de un nodo: El campo liga, que es de tipo puntero, es el que se usa para establecer la liga con el siguiente nodo de la lista. Si el nodo fuera el ltimo, este campo recibe como valor NIL (vaco). A continuacin se muestra el esquema de una lista : Operaciones en Listas Enlazadas
Las operaciones que podemos realizar sobre una lista enlazada son las siguientes: Recorrido. Esta operacin consiste en visitar cada uno de los nodos que forman la lista . Para recorrer todos los nodos de la lista, se comienza con el primero, se toma el valor del campo liga para avanzar al segundo nodo, el campo liga de este nodo nos dar la direccin del tercer nodo, y as sucesivamente. Insercin. Esta operacin consiste en agregar un nuevo nodo a la lista. Para esta operacin se pueden considerar tres casos: o Insertar un nodo al inicio. o Insertar un nodo antes o despus de cierto nodo. o Insertar un nodo al final. Borrado. La operacin de borrado consiste en quitar un nodo de la lista, redefiniendo las ligas que correspondan. Se pueden presentar cuatro casos: o Eliminar el primer nodo. o Eliminar el ltimo nodo. o Eliminar un nodo con cierta informacin. o Eliminar el nodo anterior o posterior al nodo cierta con informacin. Bsqueda. Esta operacin consiste en visitar cada uno de los nodos, tomando al campo liga como puntero al siguiente nodo a visitar. Listas Lineales En esta seccin se mostrarn algunos algoritmos sobre listas lineales sin nodo de cabecera y con nodo de cabecera. Una lista con nodo de cabecera es aquella en la que el primer nodo de la lista contendr en su campo dato algn valor que lo diference de los dems nodos (como : *, -, +, etc). Un ejemplo de lista con nodo de cabecera es el siguiente: En el caso de utilizar listas con nodo de cabecera, usaremos el apuntador CAB para hacer referencia a la cabeza de la lista. Para el caso de las listas sin nodo de cabecera, se usar la expresin TOP para referenciar al primer nodo de la lista, y TOP(dato), TOP(liga) para hacer referencia al dato almacenado y a la liga al siguiente nodo respectivamente.
Listas Dobles
Una lista doble , doblemente ligada es una coleccin de nodos en la cual cada nodo tiene dos punteros, uno de ellos apuntando a su predecesor (li) y otro a su sucesor(ld). Por medio de estos punteros se podr avanzar o retroceder a travs de la lista, segn se tomen las direcciones de uno u otro puntero. La estructura de un nodo en una lista doble es la siguiente: Existen dos tipos de listas doblemente ligadas: Listas dobles lineales. En este tipo de lista doble, tanto el puntero izquierdo del primer nodo como el derecho del ltimo nodo apuntan a NIL. Listas dobles circulares. En este tipo de lista doble, el puntero izquierdo del primer nodo apunta al ltimo nodo de la lista, y el puntero derecho del ltimo nodo apunta al primer nodo de la lista. Debido a que las listas dobles circulares son ms eficientes, los algoritmos que en esta seccin se traten sern sobre listas dobles circulares. En la figura siguiente se muestra un ejemplo de una lista doblemente ligada lineal que almacena nmeros: En la figura siguiente se muestra un ejemplo de una lista doblemente ligada circular que almacena nmeros: A continuacin mostraremos algunos algoritmos sobre listas enlazadas. Como ya se mencion, llamaremos li al puntero izquierdo y ld al puntero derecho, tambin usaremos el apuntador top para hacer referencia al primer nodo en la lista, y p para referenciar al nodo presente.
Listas Circulares
Las listas circulares tienen la caracterstica de que el ltimo elemento de la misma apunta al primero La siguiente figura es una representacin grfica de una lista circular. Enseguida se mostrarn los algoritmos ms comunes en listas circulares. Al igual que en las secciones anteriores, utilizaremos el apuntador top para hacer referencia al primer nodo en la lista.
Arboles:_
forma de un rbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el rbol y puede tener cero o ms nodos hijos conectados a l. rbol Binarios rbol B
A. B. DISTINTO
Se dice que dos rboles binarios son distintos cuando sus estructuras son diferentes. Ejemplo:
A. B. SIMILARES
Dos arboles binarios son similares cuando sus estructuras son idnticas, pero la informacin que contienen sus nodos es diferente. Ejemplo:
A. B. EQUIVALENTES
Son aquellos arboles que son similares y que adems los nodos contienen la misma informacin. Ejemplo:
A. B. COMPLETOS
Son aquellos arboles en los que todos sus nodos excepto los del ultimo nivel, tiene dos hijos; el subarbol izquierdo y el subarbol derecho.
grafos:
nodos) y una seleccin de pares de vrtices, llamados aristas que pueden ser orientados o no. un grafo se representa mediante (vrtices) conectados por (aristas). Caracterizacin de grafos: simples, conexos y complejos. Estructuras estticas Son aquellas en las que el tamao ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamao durante la ejecucin del programa. Estas estructuras estn implementadas en casi todos los lenguajes.
Solo uno de los 256 caracteres posibles puede almacenarse en un char a la vez. Es posible usar este tipo para El tipo de dato char posee una longitud de un Byte (8 bits), y se usa para almacenar caracteres. definir cadenas de caracteres y se puede hacer de dos formas. -char *cadena1, *cadena2, �; Donde char es el tipo y cadena1, cadena2, etc, son variables que apuntan a reas de memoria donde se almacenan cadenas de caracteres de longitud variable.-char cadena1[n]; o char cadena1[]; Define una cadena de caracteres llamada cadena1 de longitud n en el primer caso, y una cadena de longitud no definida en el segundo. Punteros: Los punteros son tambin llamados apuntadores. Son tipos de datos que permiten crear estructuras de datos dinmicas, las cuales pueden variar en tamao y memoria requerida. Las variables que se crean y se destruyen durante la ejecucin se llaman variables dinmicas o annimas. Para manipular un puntero como variable se utiliza un nombre, a la que apunta. Para trabajar con punteros existe un operados que precede * y un operados & que indica la direccin. Http://wikipedia.org/wiki/estructuradedatos-introduccion Http://wikipedia.org/wiki/estructuradinamucas Http://wikipedia.org/wiki/tipodeestructurasdedatos Http://wikipedia.org/wiki/pilas(informaticas)
Http://wikipedia.org/wiki/cadenadecaracteres Http://mailxmail/unteros/introduccionallenguajec