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();
              }
          }

      }