Estructuras lineales y no lineales

  • 3,016 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,016
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
62
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
    FACULTAD DE ESTUDIOS SUPERIORES
    “ACATLÁN”
    Estructuras Lineales
    y No Lineales
    García Toledo SarquisBenjalil
    Gómez Ruíz Edward Ignacio
    Martínez Cano Alejandro
    Martínez Galván Jorge
    1302
  • 2. L I S T A
    Una lista es una estructura de datos homogénea y dinámica, que esta formada por una secuencia de elementos.[1]
    Homogénea: Todos los elementos que la forman tienen el mismo tipo base.
    Dinámica: Puede crecer o decrecer en tiempo de ejecución según nuestras necesidades.
    Hay varios criterios para clasificar las listas: según su modo de acceso o según su información de acceso.
    MODO DE ACCESO
    Listas densasSe caracterizan porque los elementos siguen una secuencia física.
    Sabemos cuales es el siguiente elemento porque para acceder a él hemos tenido que pasar por todos los anteriores.Listas enlazadasSon aquellas en las que cada elemento que los compone contiene la información necesaria para acceder al elemento siguiente.
    INFORMACIÓN DE ACCESO
    Listas ordinalesLos elementos se van colocando en la lista a medida que llegan y se identifican por el orden de llegada.
    Listas calificadasLos elementos se clasifican por una clave y pueden estar ordenados o no estarlo.
    Otros Tipos De Listas
    Listas reorganizables.- Son aquellas listas en las que el último elemento consultado se sitúa al principio.
    Listas circulares.-En ellas el último elemento apunta al primero.
    Listas doblemente enlazadas.- Cada elemento tiene dos punteros, uno de los cuales apunta al elemento siguiente y otro al anterior.
    [1] http://www.monografias.com/trabajos10/esda/esda.shtml#li
  • 3. P I L A S
    Es una estructura de datos a la cual se puede acceder solo por un extremo de la misma. [2]
    Las operaciones de inserción y extracción se realizan a través del tope, por lo cual no se puede acceder a cualquier elemento de la pila.
    Se le suele llamar estructura L.I.F.O. como acrónimo de las palabras inglesas "last in, firstout" (último en entrar, primero en salir).
    Las operaciones que definen el comportamiento de una pila o primitivas son las siguientes:
    Crear pila.
    Insertar elemento.
    Retirar elemento.
    Pila vacía.
    Vaciar pila.
    ALGUNAS APLICACIONES
    Las pilas son frecuentemente utilizadas en el desarrollo de sistemas informáticos y software en general. Por ejemplo, el sistema de soporte en tiempo de compilación y ejecución del Pascal utiliza una pila para llevar la cuenta de los parámetros de procedimientos y funciones, variables locales, globales y dinámicas.
    Este tipo de estructuras también son utilizadas para traducir expresiones aritméticas o cuando se quiere recordar una secuencia de acciones u objetos en el orden inverso del ocurrido.
    [2] http://html.rincondelvago.com/pilas-y-colas.html
  • 4. C O L A S
    Es una colección de elementos homogéneos, donde se pueden insertar elementos por uno de los extremos, llamado frente, y retirar los mismos por el otro extremo, denominado final. [2]
    Es importante aclarar que, tanto el frente como el final de la cola, son los únicos indicados para retirar e insertar elementos, respectivamente.
    Por esta razón la cola es denominada una estructura F.I.F.O., o simplemente una lista F.I.F.O., esto representa el acrónimo de las palabras inglesas “first in, firstout” (primero en entrar, primero en salir).
    Las operaciones que representen el comportamiento de la cola para poder utilizarlas son:
    Crear cola.
    Insertar elemento.
    Retirar elemento.
    Cola vacía.
    Vaciar cola.
    Podemos definir una cola en forma dinámica implementándola como una lista simple y respetando las restricciones de inserción (sólo se puede realizar a través del final) y extracción (sólo se puede realizar por el frente).
    [2] http://html.rincondelvago.com/pilas-y-colas.html
  • 5. Á R B O L
    Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos.
    Conceptos que conforman un árbol:
    Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol. En el ejemplo, 'L' y 'M' son hijos de 'G'.
    Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'.
    Cada nodo sólo tendrá un padre.
    En cuanto a la posición dentro del árbol:
    Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al árbol. En el ejemplo, ese nodo es el 'A'.
    Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: 'F', 'H', 'I', 'K', 'L', 'M', 'N' y 'O'.
    Nodo rama: aunque esta definición apenas la usaremos, estos son los nodos que no pertenecen a ninguna de las dos categorías anteriores. En el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'.
  • 6. Otra característica que normalmente tienen los árboles es que todos los nodos contienen el mismo número de punteros, es decir, están formados por la misma estructura en todos los nodos del árbol.
    Existen otros conceptos que definen las características del árbol, en relación a su tamaño:
    Orden: es el número potencial de hijos que puede tener cada elemento de árbol. De este modo, diremos que un árbol en el que cada nodo puede apuntar a otros dos es de orden dos, si puede apuntar a tres será de orden tres, etc.
    Grado: el número de hijos que tiene el elemento con más hijos dentro del árbol. En el árbol del ejemplo, el grado es tres, ya que tanto 'A' como 'D' tienen tres hijos, y no existen elementos con más de tres hijos.
    Nivel: se define para cada elemento del árbol como la distancia a la raíz, medida en nodos. El nivel de la raíz es cero y el de sus hijos uno. Así sucesivamente. En el ejemplo, el nodo 'D' tiene nivel 1, el nodo 'G' tiene nivel 2, y el nodo 'N', nivel 3.
    Altura: la altura de un árbol se define como el nivel del nodo de mayor nivel. Como cada nodo de un árbol puede considerarse a su vez como la raíz de un árbol, también podemos hablar de altura de ramas. El árbol del ejemplo tiene altura 3, la rama 'B' tiene altura 2, la rama 'G' tiene altura 1, la 'H' cero, etc. [3]
    [3] http://c.conclase.net/edd/?cap=006
  • 7. G R A F O S
    • Un grafo es un objeto matemático que se utiliza para representar circuitos, redes, etc. Los grafos son muy utilizados en computación, ya que permiten resolver problemas muy complejos.[1]
    • 8. Un grafo simple está formado por dos conjuntos:
    • 9. Un conjunto V de puntos llamados vértices o nodos.
    • 10. Un conjunto de pares de vértices que se llaman aristas o arcos y que indican qué nodos están relacionados.
    • 11. Formalmente, un grafo, G, se define como un par ordenado, G = (V, E), donde V es un conjunto finito y E es un conjunto que consta de dos elementos de V.
    [1] http://www.algoritmia.net/articles.php?id=18
  • 12. REPRESENTACIÓN DE GRAFOS
    Las representaciones de grafos más habituales están basadas en matrices de adyacencia y listas de adyacencia.[1]
    Representación mediante matrices:   La forma más fácil de guardar la información de los nodos es mediante la utilización de un vector que indexe los nodos, de manera que los arcos entre los nodos se pueden ver como relaciones entre los índices. Esta relación entre índices se puede guardar en una matriz, que llamaremos de adyacencia.
    Representación mediante listas:    En las listas de adyacencia lo que haremos será guardar por cada nodo, además de la información que pueda contener el propio nodo, una lista dinámica con los nodos a los que se puede acceder desde él. La información de los nodos se puede guardar en un vector, al igual que antes, o en otra lista dinámica.
    Algunas Aplicaciones
    Entre las múltiples aplicaciones que tienen estas estructuras podemos mencionar:
    • Para modelar diversas situaciones tales como: sistemas de aeropuertos, flujo de tráfico, y responder a preguntas como: ¿Qué tiempo es más corto?, ¿Cómo es más barato?, o ¿Qué camino es más corto?.
    • 13. Los grafos también son utilizados para realizar planificación de actividades, tareas del computador, planificar operaciones en lenguaje de máquinas para minimizar tiempo de ejecución. ¿Qué tarea debo hacer primero?.
    • 14. Para representar circuitos eléctricos, de aguas etc... , y preguntar, están todas las componentes conectadas.
    [1] http://www.monografias.com/trabajos16/grafos/grafos.shtml#REPRES