Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia...

9

Transcript of Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia...

Page 1: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.
Page 2: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.
Page 3: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.

Diferencia entre pilas y colasDiferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son Viendo ambas definiciones, podemos observar que ambas son

secuencia de datos los cuales son colocados y luego retirados.secuencia de datos los cuales son colocados y luego retirados. Para diferenciar las pilas de las colas fácilmente nos Para diferenciar las pilas de las colas fácilmente nos

imaginaremos dos cosas:imaginaremos dos cosas:

Una pila de librosUna pila de librosUna cola de la compra.Una cola de la compra.

Cuando retiras un libro de una pila de libros, se hace del último Cuando retiras un libro de una pila de libros, se hace del último que dejaste en la pila, por eso se dice que son LIFO (Last Input, que dejaste en la pila, por eso se dice que son LIFO (Last Input, First Output, o en español, El último que entra es el primero que First Output, o en español, El último que entra es el primero que sale).sale).

En la cola de la compra, a diferencia, siempre se atiende al que En la cola de la compra, a diferencia, siempre se atiende al que llegó primero, y por eso son FIFO (First Input, First Output, o en llegó primero, y por eso son FIFO (First Input, First Output, o en español, el primero que entra es el primero que sale)español, el primero que entra es el primero que sale)

Page 4: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.

RecursividadRecursividad La recursividad es posible gracias a la existencia de pilas. Las La recursividad es posible gracias a la existencia de pilas. Las

soluciones recursivas suelen ser bastante cortas pero cubren soluciones recursivas suelen ser bastante cortas pero cubren mucho más espacio en la memoria del ordenador, este es el mucho más espacio en la memoria del ordenador, este es el principal inconveniente de las soluciones recursivas. Esto se debe principal inconveniente de las soluciones recursivas. Esto se debe a que si un programa recursivo tiene variables dentro del mismo a que si un programa recursivo tiene variables dentro del mismo programa éstas se crearán nuevas cada vez que se ejecute. Por programa éstas se crearán nuevas cada vez que se ejecute. Por este motivo en los procedimientos y funciones recursivos este motivo en los procedimientos y funciones recursivos evitaremos pasar como parámetros arrays, matrices, etc., ya que evitaremos pasar como parámetros arrays, matrices, etc., ya que estaremos haciendo un uso innecesario de la memoria. Si lo que estaremos haciendo un uso innecesario de la memoria. Si lo que queremos es una variable global entonces deberá estar en el queremos es una variable global entonces deberá estar en el programa principal. Por último aclarar la utilización de los programa principal. Por último aclarar la utilización de los parámetros de entrada (in) y de salida (out):parámetros de entrada (in) y de salida (out):

IN IN Se comportan como constantes, no se pueden cambiar. Los Se comportan como constantes, no se pueden cambiar. Los valores introducidos en la pila no se modifican.valores introducidos en la pila no se modifican.

OUT OUT Son parámetros variables. Los valores se copian en la pila Son parámetros variables. Los valores se copian en la pila al elemento anterior.al elemento anterior.

Page 5: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.
Page 6: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.

Diferencia entre árbol y árbol binarioDiferencia entre árbol y árbol binario

Un árbol es una estructura de datos que imita la forma de Un árbol es una estructura de datos que imita la forma de un árbol, ya que son un conjunto de nodos conectados un árbol, ya que son un conjunto de nodos conectados entre si. Un nodo es la unidad sobre la que se construye el entre si. Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o más nodos hijos conectados a él. árbol y puede tener cero o más nodos hijos conectados a él. Se dice que un nodo Se dice que un nodo aa es padre de un nodo es padre de un nodo bb si existe un si existe un enlace desde enlace desde aa hasta hasta bb (en ese caso, también decimos que (en ese caso, también decimos que bb es hijo de es hijo de aa). Sólo puede haber un único nodo sin padres, ). Sólo puede haber un único nodo sin padres, que llamaremos raíz. Un nodo que no tiene hijos se conoce que llamaremos raíz. Un nodo que no tiene hijos se conoce como hoja. Los demás nodos (tienen padre y uno o varios como hoja. Los demás nodos (tienen padre y uno o varios hijos) se les conoce como rama.hijos) se les conoce como rama.

Un árbol binario es un tipo de árbol, obviamente, también Un árbol binario es un tipo de árbol, obviamente, también es un conjunto de nodos conectados pero con la limitación es un conjunto de nodos conectados pero con la limitación de que solo puede tener 2 nodos hijos como máximo.de que solo puede tener 2 nodos hijos como máximo.

Page 7: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.

Recorrido de árbolesRecorrido de árboles Una sucesión de nodos del árbol, de forma que Una sucesión de nodos del árbol, de forma que

entre cada dos nodos consecutivos de la sucesión entre cada dos nodos consecutivos de la sucesión haya una relación de parentesco, decimos que es haya una relación de parentesco, decimos que es un recorrido árbol. Existen dos recorridos típicos un recorrido árbol. Existen dos recorridos típicos para listar los nodos de un árbol: primero en para listar los nodos de un árbol: primero en profundidad y primero en anchura. En el primer profundidad y primero en anchura. En el primer caso, se listan los nodos expandiendo el hijo caso, se listan los nodos expandiendo el hijo actual de cada nodo hasta llegar a una hoja, actual de cada nodo hasta llegar a una hoja, donde se vuelve al nodo anterior probando por el donde se vuelve al nodo anterior probando por el siguiente hijo y así sucesivamente. En el siguiente hijo y así sucesivamente. En el segundo, por su parte, antes de listar los nodos segundo, por su parte, antes de listar los nodos de nivel de nivel nn + 1 (a distancia + 1 (a distancia nn + 1 aristas de la + 1 aristas de la raíz), se deben haber listado todos los de nivel raíz), se deben haber listado todos los de nivel nn. .

Page 8: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.

Árbol de BusquedasÁrbol de Busquedas Un árbol binario de búsqueda (ABB) es un árbol Un árbol binario de búsqueda (ABB) es un árbol

binario definido de la siguiente forma:binario definido de la siguiente forma: Todo árbol vacío es un árbol binario de búsqueda. Todo árbol vacío es un árbol binario de búsqueda.

Un árbol binario no vacío, de raíz R, es un árbol Un árbol binario no vacío, de raíz R, es un árbol binario de búsqueda si:binario de búsqueda si:

En caso de tener subárbol izquierdo, la raíz R En caso de tener subárbol izquierdo, la raíz R debe ser mayor que el valor máximo almacenado debe ser mayor que el valor máximo almacenado en el subárbol izquierdo, y que el subárbol en el subárbol izquierdo, y que el subárbol izquierdo sea un árbol de búsqueda.izquierdo sea un árbol de búsqueda.

En caso de tener subárbol derecho, la raíz R debe En caso de tener subárbol derecho, la raíz R debe ser menor que el valor mínimo almacenado en el ser menor que el valor mínimo almacenado en el subárbol derecho, y que el subárbol derecho sea subárbol derecho, y que el subárbol derecho sea un árbol de búsqueda. un árbol de búsqueda.

Page 9: Diferencia entre pilas y colas Viendo ambas definiciones, podemos observar que ambas son secuencia de datos los cuales son colocados y luego retirados.