lunes, 16 de noviembre de 2015

resumen de las estructuras de datos lineales

PILAS

Definición

Una pila (stack en inglés) es una estructura de datos de tipo LIFO que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.

Política 

Es una estructura de datos de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir)

Elementos

•   PUSH (pila, elemento):
Introduce un elemento en la pila. También se le conoce como poner o meter.
•    POP (pila):
 Elimina un elemento de la pila. También se le conoce como sacar o quitar.
•    VACIA(pila):


   Función booleana que indica si la pila esta   vacía o no.

Operaciones  

Las operaciones que se pueden realizar con una pila son:
•   PUSH (pila, elemento):
Introduce un elemento en la pila. También se le conoce como poner o meter.
•    POP (pila):
 Elimina un elemento de la pila. También se le conoce como sacar o quitar.
•    VACIA(pila):

   Función booleana que indica si la pila esta   vacía o no.

Algoritmo

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Stack pila = new Stack();//instancio un nuevo objeto stack(pila)

            pila.Push(1);//agrego un elemento a la pila
            pila.Push(4);
            pila.Push(1);
            pila.Push(6);
            pila.Push(3);
            pila.Push(5);
            pila.Push(9);

            for (int i = 0; i < 3; i++)//itera 3 veces para ir retirando elementos de la pila
            {         
                //pila.pop saca elementos de la pila
                Console.WriteLine("Elemento retirado de la pila: " + pila.Pop());//imprime los elementos que va retirando el .pop
                Console.WriteLine("el próximo elemento que queda en la pila es: " + pila.Peek());//muestra el elemento siguiente en la pila sin eliminarlo
                Console.WriteLine("");
            }     
            Console.ReadKey();
        }
    }

}

Colas

Definición


Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. 

Política 

También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.

Elementos

 Frente: apunta el inicio de la cola y que  se incrementa cada vez que sale un elemento de la cola

       Atrás: apunta al ultimo elemento entro a la cola y que se incrementa cada vez que ingresa un nuevo elemento

lacola[]: es el vector máximo que guarda los elementos de una cola 

       Máximo : es el tamaño de la cola o número de elementos que tendrá la cola

Operaciones  

•Insertar.- Almacena al final de la cola el elemento que se recibe como parámetro.
•Eliminar.- Saca de la cola el elemento que se encuentra al frente.
•Vacía.- Regresa un valor booleano indicando si la cola tiene o no elementos (true – si la cola esta vacía, false – si la cola tiene al menos un elemento).
•Llena.- Regresa un valor booleano indicando si la cola tiene espacio disponible para insertar nuevos elementos ( true – si esta llena y false si existen espacios disponibles).

    Algoritmo


    public partial class frmPrincipal
        {
            // Variables globales
            public static string[] Cola;
            public static int Frente;
            public static int Final;
            public static int N;

            [STAThread]
            public static void Main(string[] args)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new frmPrincipal());
            }

            public frmPrincipal()    // Constructor
            {

                InitializeComponent();

                Cola = new string[5];   // Arreglo lineal de 5
                N = 4;
                Frente = -1;
                Final = -1;
            }

            void CmdInsercionClick(object sender, System.EventArgs e)
            {
                frmInsercion Insercion = new frmInsercion();
                Insercion.Show();
            }

            void CmdRecorridoClick(object sender, System.EventArgs e)
            {
                frmRecorrido Recorrido = new frmRecorrido();
                Recorrido.Show();
            }

            void CmdBusquedaClick(object sender, EventArgs e)
            {
                frmBusqueda Busqueda = new frmBusqueda();
                Busqueda.Show();
            }

            void CmdEliminacionClick(object sender, EventArgs e)
            {
                frmEliminacion Eliminar = new frmEliminacion();
                Eliminar.Show();
            }
        }
    Listas

    Definición

    Una lista enlazada es un tipo de dato auto-referenciado porque contienen un puntero o link a otro dato del mismo tipo. Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante (suponiendo que dicho punto está previamente identificado o localizado), pero no permiten un acceso aleatorio. Existen diferentes tipos de listas enlazadas: Lista Enlazadas Simples, Listas Doblemente Enlazadas, Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares.

    Política 

    Las listas no tienen política pueden tenerla cuando se comportan como cola o pila dinámica

    Elementos

     add: Agrega elementos a la lista
        

    insert: Inserta un valor a la lista en una posicion, insert(posicion,valor)

    ElementAt(posicion): Nos regresa un valor de la posicion especificada.

    Remove: Remueve el primer valor que coincida con el que desea eliminar el usuario.

    RemoveAt(posicion): Remueve el elementode la lista de posicion especificada

    Operaciones  

    count: Nos da El numero de elementos que hay en la lista.

    add: Agrega elementos a la lista

    insert: Inserta un valor a la lista en una posición, insert(posicion,valor)

    ElementAt(posicion): Nos regresa un valor de la posición especificada.

    Remove: Remueve el primer valor que coincida con el que desea eliminar el usuario.

    RemoveAt(posición): Remueve el elemento de la lista de posición especificada

      Algoritmo

      namespace ConsoleApplication1
      {
          class Program
          {
              static void Main(string[] args)
              {
                  Stack pila = new Stack();//instancio un nuevo objeto stack(pila)

                  pila.Push(1);//agrego un elemento a la pila
                  pila.Push(4);
                  pila.Push(1);
                  pila.Push(6);
                  pila.Push(3);
                  pila.Push(5);
                  pila.Push(9);

                  for (int i = 0; i < 3; i++)//itera 3 veces para ir retirando elementos de la pila
                  {         
                      //pila.pop saca elementos de la pila
                      Console.WriteLine("Elemento retirado de la pila: " + pila.Pop());//imprime los elementos que va retirando el .pop
                      Console.WriteLine("el próximo elemento que queda en la pila es: " + pila.Peek());//muestra el elemento siguiente en la pila sin eliminarlo
                      Console.WriteLine("");
                  }     
                  Console.ReadKey();
              }
          }

      }