Estructuras de Datos

Track and organize your meetings within your company

Lancez-Vous. C'est gratuit
ou s'inscrire avec votre adresse e-mail
Estructuras de Datos par Mind Map: Estructuras de Datos

1. PILAS

1.1. Es una estructura de datos en que se puede agregar o quitar elementos únicamente por uno de los extremos.De esta manera, los elementos de una pila se eliminan en el orden inverso al que se insertaron, es decir primero el último.

1.1.1. Se accede a los datos por un extremo al que se le conoce como tope.

1.1.2. Tienen dos operaciones básicas: push (para insertar un elemento) y pop (para extraer un elemento).

1.2. VENTAJAS                                                  Cuando se implementa con datos enlazados, no existe el problema de tener que fijar el tamaño máximo de la pila, es decir, no se necesita saber la cantidad de elementos que va a contener. Esto se debe a que al ser implementadas a base de punteros, se va tomando memoria a medida que se cargan los datos, si no hay más memoria disponible no se ingresan más datos.

1.3. DESVENTAJAS                                            Esta implementación si se hace mediante arreglos, es necesario fijar de antemano el número máximo de elementos que puede contener la pila, MAX_ELEM, y por lo tanto al apilar un elemento es necesario controlar que no se inserte un elemento si la pila está llena.

2. LISTAS

2.1. Una lista es una estructura de datos lineal que se puede representar simbólicamente como un conjunto de nodos enlazados entre sí.

2.2. Listas  densas.  Cuando  la  estructura  que contiene  la  lista  es  la  que  determina  la posición  del  siguiente  elemento.

2.3. Listas enlazadas. Es una estructura lineal que almacena una colección de elementos generalmente llamados nodos, en donde cada nodo puede almacenar datos y ligas a otros nodos.

2.4. VENTAJAS Las listas son dinámicas, es decir, se pueden almacenar en ellas tantos elementos como se necesiten, siempre y cuando haya espacio suficiente en la memoria de la computadora. Al insertar un elemento en la lista, la operación tiene un tiempo constante independientemente de la posición en la que se inserte, solo se debe crear el nodo y modificar los enlaces de los mismos. Al eliminar un elemento sucede lo mismo que se mencionó en el punto anterior.

2.5. DESVENTAJAS                                                  El acceso a un elemento es más lento, debido a que la información no está en posiciones contiguas en la memoria de la computadora, por lo que no se puede acceder a un elemento con base en su posición como se hace en los arreglos.

3. COLAS

3.1. Colas simples: Se inserta por un sitio y se saca por otro, en el caso de la cola simple se inserta  por  el final  y  se  saca  por  el  principio.

3.2. Colas circulares: En las colas circulares se considera que después del último elemento se accede de nuevo al primero. De esta forma el final de la cola es a su vez el principio.

3.3. Colas con prioridad: Las   colas   con   prioridad   se   implementan   mediante   listas   o   arrays ordenados.  No nos  interesa  en  este  caso que  salgan  en  el orden  de  entrada sino  con  una  prioridad que se le  asigna.

3.4. DESVENTAJAS                                               La implementación de las colas de prioridad es costosa en algunas implementaciones.

3.5. APLICACIONES                                                                         Las colas, al igual que las pilas, resultan de aplicación habitual en muchos problemas informáticos. Su utilización es infinita, sobre todo en aquellos problemas que tienen un componente de simulación de procesos, por ejemplo la simulación de una cola formada frente a un cajero automático. Para modelar 'colas reales' en el mundo de las computadoras: colas de tareas, colas de procesos, colas de impresión en el sistema operativo Windows, etc. Cada usuario de una red de Windows coloca sus trabajos de impresión y el sistema lo imprime en el mismo orden en que fueron insertados en la cola de impresión. La aplicación más común de las colas es la organización de tareas de un ordenador. Los procesos forman colas para la utilización de los recursos de un sistema computacional.