Sie sind auf Seite 1von 7

Estructura de datos

Moises Sebastian Salgado Sanchez

Anlisis de Algoritmos

Instituto IACC
Desarrollo

De acuerdo a lo visto en los contenidos de la semana y al hecho de que las estructuras de

datos pueden ser implementadas utilizando otras estructuras de datos, cmo sera una

estrategia para contar los elementos existentes en una pila? (Es decir, cmo sera una

forma eficiente de construir la funcin Count?).

Antes de responder la pregunta, es necesario describir las caractersticas de los tipos de

estructuras de datos listas, pilas y colas.

Listas

Una lista es un conjunto de nodos enlazados, que forman una cadena. En el caso de las listas es

posible implementarlas utilizando otras estructuras de datos, en este caso se pude implementar

listas a travs de arreglos.

El primero nodo de una lista, empieza en 0 no en 1.

Pilas

En la vida diaria cuando agregamos elementos sobre la superficie del elemento anterior, este

proceso se llama apilar, por ejemplo cuando apilamos cajas, platos y otros elementos, as

funcionan las pilas. Las pilas pueden implementarse utilizando arreglos.

Las pilas trabajan con memorias del tipo LIFO que significa Last In, First Out en espaol ltimo

en entrar, primero en salir.

Las pilas poseen las siguientes operaciones bsicas:

Count: cantidad de tems existentes en la pila.


Print: imprime los tems existentes.
Push: permite agregar elementos en la parte superior del ltimo tem.
Pop: saca de la pila el primer elemento.
IsEmpty: valor booleano que indica si la pila est vaca con true o false.
Peek: retorna el valor del primer elemento de la pila.

Colas

Al igual que las colas que realizan las personas en los bancos, las estructuras de datos llamadas

colas usan memoria del tipo FIFO que significa en ingles First In, First Out que en espaol

significa primero en entrar, primero en salir. Las colas pueden implementarse utilizando arreglos.

Count: cantidad de tems existentes en la cola.


Print: imprime los tems existentes.
Add: permite agregar elementos en la parte final de la cola.
Remove: saca de la cola el primer elemento.
IsEmpty: valor booleano que indica si la cola est vaca con true o false.
A continuacin se adjunta el cdigo en lenguaje PHP para crear una pila, adicionar elementos en

este caso marcas de vehculos con la operacin Push, luego utilizamos una funcin donde se

muestra la operacin Count de forma eficiente, para obtener la cantidad de marcas agregadas en

la pila.

<?php
class Pila{

public function __construct(){


$this->Pila = array(); // tratar pila como arreglo.
}

public function push($elemento){


$this->Pila[] = $elemento; // agregar parametro a pila.
echo '- Marca ' . $elemento .' agregada a pila.<br/>';
}

public function contador(){


return count($this->Pila); // contar elementos en pila.

}
}

// instancia a clase Pila.


$objMarcas = new Pila();

// ingreso de marcas a pila.


$objMarcas->push('Chevrolet');
$objMarcas->push('Ford');
$objMarcas->push('Dodge');

// obtener cantidad de elementos ingresados.


echo '<p><b>Cantidad de elementos en pila: '. $objMarcas->contador() .'</b></p>';
?>
A continuacin se adjuntan dos capturas de pantallas, respecto al cdigo en PHP y el

funcionamiento del objeto marcas, que es una instanciacin de la clase Pila.

La siguiente captura de pantalla, muestra la construccin de la clase Pila y sus acciones, y

posteriormente la instanciacin de clase como objeto marcas, para utilizar las funciones de la

clase.
La siguiente captura de pantalla, es el resultado de las acciones Push y Count del objeto marcas.

Se puede apreciar que se agregaron las marcas Chevrolet, Ford y Dodge a la pila, y luego al

contar la cantidad de elementos ingresados en la pila el retorno corresponde a 3 elementos.


Bibliografa

Anlisis de Algoritmos. Contenidos semana 1

Das könnte Ihnen auch gefallen