Unidad 3 estructuras lineales estaticas y dinamicas
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Unidad 3 estructuras lineales estaticas y dinamicas

on

  • 10,089 views

 

Statistics

Views

Total Views
10,089
Views on SlideShare
10,067
Embed Views
22

Actions

Likes
3
Downloads
216
Comments
0

2 Embeds 22

http://fundamentosfisicosdelaarquitectura.alianzasuperior.com 21
http://fundamentosfisicosdelaarquitectura.aula.la 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Unidad 3 estructuras lineales estaticas y dinamicas Document Transcript

  • 1. ESTRUCTURAS DE DATOS UNIDAD 3 ESTRUCTURAS LINEALES ESTATICAS Y DINAMICASUna Estructura de datos, es una colección de datos almacenados, que se caracteriza por suorganización y las operaciones que la componen. Una estructura de datos esta compuesta portipos de datos simples o primitivos (entero, real, carácter, etc.).Las estructuras de datos se organizan de forma Estática y Dinámica. • Las Estructuras de datos Estáticas, son aquellas en las que el tamaño ocupado en memoria se define al tiempo de compilación, es decir, antes de la ejecución del programa, y no podrá ser cambiado durante ella. • Las Estructuras de datos Dinámicas, no tienen limitaciones en la asignación de memoria, ya que esta se define durante la ejecución del programa.Las estructuras de datos pueden ser Lineales y no Lineales, las primera se refieren a que loselementos se encuentran posicionados lógicamente de manera secuencial uno tras otro, y lasno lineales son aquellas en que después de un elemento se encuentran posicionados más deuno.Entre las Estructuras Lineales se encuentran las Pilas, Colas y Listas. PILASLa Pila es una estructura de datos lineal que puede organizarse de manera estática o dinámica.Se caracteriza por tener un mecanismo llamado LIFO (Last Input, First Output) que permiterealizar operaciones de inserción y eliminación de manera que el último en entrar, es elprimero en salir. Las entradas y salidas de datos se realizan por uno de sus extremos llamadoTope.La mayoría de lenguajes disponen de un tipo de dato Pila( Stack), sin embargo, es necesarioconocer su manipulación ya sea mediante memoria estática o dinámica.Mediante memoria estática la forma de representar una pila es mediante un vector. Pararepresentarla como estructura dinámica, se usan Listas Enlazadas o Ligadas.Representación grafica (Estática) 4 40 Tope 3 35 2 20 1 15 1
  • 2. ESTRUCTURAS DE DATOS Pil a (St ack ) Operaciones primitivas 1. INSERCIÓN. Consiste en agregar datos o elementos a una pila incrementando el tope de esta, y la operación se conoce como push. Cuando se trata de una pila estática, la operación se puede realizar siempre y cuando exista espacio en la pila. 2. ELIMINACIÓN. La supresión de un dato es conocida como operación pop, y una vez eliminado el dato, el tope debe decrementarse. Para realizar esta operación la Pila debe tener al menos un elemento. 3. OBTENER ELEMENTO EN EL TOPE. Es la operación llamada stacktop, y permite obtener el dato que se encuentra al tope, sin eliminarlo de la pila. Al igual que la operación anterior, para realizarla, la Pila debe tener al menos un elemento. 4. PILA VACÍA. Permite saber si la Pila está vacía para poder realizar otras operaciones. La operación retorna un valor verdadero si efectivamente la Pila se encuentra vacía, y se conoce como empty.Además de estas operaciones, cuando se trata de una Pila Estática, se debe definir laoperación para saber si la Pila está llena, ya que tendremos la limitación de memoria. COLASUna cola es una estructura de datos lineal. El mecanismo que identifica a una cola es conocidocomo FIFO (Fisrt Input First Output), es decir el primer elemento que se inserta a una cola esel primero en salir. Los extremos por donde se realizan las operaciones de entrada y salida,son llamados fin y frente, consecutivamente. 2
  • 3. ESTRUCTURAS DE DATOSExisten diversos tipos de colas: 1. La cola circular: Es aquella que representa a la estructura de datos como un círculo y no como una línea recta. Esta representación soluciona el problema de espacio desaprovechado que se presenta en una cola estática considerada como línea recta. 3 Fin 30 40 4 2 25 20 Frente 1 2. La bicola o cola doble: Es aquella en la que las inserciones y las eliminaciones se pueden realizar por cualquiera de sus dos extremos. Existen dos tipos de bicolas: a) Bicola de entrada restringida: Es aquella que acepta inserciones solo al final de la cola y acepta eliminaciones tanto por el frente como en el fin. b) Bicola de salida restringida: Es aquella que acepta eliminaciones solo por el frente e inserciones tanto por el final como por el frente. 3. Cola de prioridades: Es aquella en la que el orden de sus elementos determina el resultado de sus operaciones básicas hay dos tipos de colas de prioridades: a) Cola de prioridad ascendente: Es aquella en que los elementos se pueden insertar de manera arbitraria haciendo que estos lleven un orden ascendente por lo que eliminación (por el frente), es del elemento menor. b) Cola de prioridad descendente: Es aquella en la que los elementos se insertan de manera arbitraria siempre y cuando el orden de estos quede descendente por lo que la eliminación será del elemento mayor.Operaciones Primitivas o Básicas 1. Insertar un elemento. Agrega por el extremo del fin un elemento a la Cola. El nombre puede variar, pero en general es la operación insert. 2. Eliminación de un elemento. Remueve el elemento del frente de la cola. Operación remove. 3. Cola Vacía . Determina si la estructura está vacía. Operación empty.De la misma forma que se utilizan las Pilas, será necesario crear la operación de Cola llena, sise trata de una estructura estática. 3
  • 4. ESTRUCTURAS DE DATOSSe debe tener cuidado en validar las operaciones, checando que estas sí se puedan realizarpara evitar errores. LISTAS ENLAZADASUna lista enlazada o ligada, es una estructura de datos lineal dinámica.Una lista enlazada se caracteriza porque los elementos se almacenan en posiciones dememoria que no son contiguas, por lo que cada elemento necesita almacenar la referencia(dirección de memoria) del siguiente elemento de la lista. Existen Listas Simples, Dobles,Simple Circular y Doble Circular.Esta forma de almacenamiento y organización de datos resulta la más adecuada si el númerode elementos a almacenar es impredecible, ya que no hay un límite preestablecido para el usode memoria.Una lista de este tipo se comporta de acuerdo a las necesidades de la aplicación. Es decir noexisten operaciones específicas para una lista, mediante Listas Enlazadas se puedenrepresentar Pilas y Colas.Lista SimpleUna lista enlazada Simple se construye vinculando objetos, llamados Nodos, que contienen almenos un miembro para la información y un miembro que es una referencia a otro objeto desu mismo tipo, de modo que el último nodo en la lista no contiene otra referencia, sino unvalor nulo. Una lista Simple, contiene la referencia al primer objeto o nodo, que es el inicio dela lista.Representación gráfica:Inicio = 1008 1008 1002 30 10 1010 Null 1010 20 Nodo 1002Lista Doble 4
  • 5. ESTRUCTURAS DE DATOS Una lista ligada simple restringe el recorrido por los nodos hacia una sola dirección, así como dificulta la operación de eliminación de un nodo. Estos inconvenientes desaparecen si se utiliza una lista doblemente ligada. Una lista doble es aquella donde cada nodo tiene un par de miembros que contienen referencias de enlace. Un enlace permite recorrer la lista hacia adelante, mientras que el otro permite hacerlo hacia atrás. Para que esto tenga sentido la lista puede definir dos referencias, la del nodo inicial y la del nodo final. Representación gráfica: 1010 1050 1030 100 200 300 null 1010 1050 1050 1030 nullinicio=1010fin=1030 ant sig 5