Sei sulla pagina 1di 17

UNIVERSIDAD NACIONAL DE PIURA

FACULTAD DE INGENIERÍA INDUSTRIAL


ESCUELA PROFESIONAL INGENIERÍA INFORMÁTICA

ARTICULO CIENTIFICO DE ALGORITMIA

ALUMNA:

MARÍA DEL SOCORRO QUEREVALU VITE

DOCENTE:

WALTER RICHARD PAIVA

PIURA, 2017
INTRODUCCION

Este articulo informativo trata sobre Los algoritmos de ordenamiento nos permite, como su nombre lo
dice, ordenar. En este caso, nos servirán para ordenar vectores o matrices con valores asignados
aleatoriamente. Nos centraremos en los métodos más populares.

Este informe nos permitirá conocer más a fondo cada método distinto de ordenamiento, desde uno
simple hasta el más complejo.

Además, también explicaremos el árbol binario de búsqueda que es el algoritmo más eficiente
con respecto a su búsqueda, creación, eliminación y sus recorridos como son inorden, preorden,
posorden todos ellos utilizan un nodo.
Por ejemplo:
Cuando deseamos encontrar cierta información en un arreglo o vector unidimensional como el
número de cedula de un ciudadano en una base de datos grande, demos utilizar métodos de
búsqueda que faciliten nuestro trabajo, pero ahorrando recursos. Esto quiere decir que si en u na
base de datos de miles de usuarios no podemos buscar uno por uno porque gastamos tiempo y
dinero. El método de búsqueda que da a conocer en este informe es el método de búsqueda binario
que es de alta velocidad y eficiente.
ORDENAMIENTO

Es la operación de arreglar los registros de una tabla en algún orden secuencial de acuerdo a un
criterio de ordenamiento. el ordenamiento se efectúa con base en el valor de algún campo en un
registro. El propósito principal de un ordenamiento es el de facilitar las búsquedas de los miembros
del conjunto ordenado.

TIPOS DE ORDENAMIENTO POR INSERCION

 ORDENAMIENTO POR INSERCION DIRECTA


El algoritmo de ordenación por el método de inserción directa es un algoritmo relativamente sencillo
y se comporta razonablemente bien en gran cantidad de situaciones y de orden de complejidad
cuadrático junto con selectionSort y bubble Sort.
Se basa en intentar construir una lista ordenada en el interior del array a ordenar.

 ORDENAMIENTO POR INSERCERSION BINARIA


Es una mejora del método de inserción directa. Para lograr esta mejora se recurre a una buena
búsqueda binaria en lugar de una búsqueda secuencial para insertar un elemento en la parte izquierda
del arreglo, que ya se encuentra ordenado.
El resto del procedimiento es similar al de inserción directa, es decir, se repite este mismo
procedimiento desde el segundo término hasta el último elemento.
Ventajas
 Fácil implementación
 Requerimientos mínimos de memoria
Desventaja
 Lento
 Realiza numerosas comparaciones

METODO DE INSERCION CONCEPTO GENERAL

El bucle principal de la ordenación por inserción va examinando sucesivamente todos los elementos
de la matriz desde el segundo hasta el n-ésimo, e inserta cada uno en el lugar adecuado entre sus
precedesores dentro de la matriz.
METODO DE SELECCIÓN

La ordenación por selección funciona seleccionando el menor elemento de la matriz y llevándolo al


principio; a continuación, selecciona el siguiente menor y lo pone en la segunda posición de la
matriz y así sucesivamente.
 Estabilidad:
Puede que exista algo de discrepancia en cuanto a si es o no estable este algoritmo, pero en realidad
esta implementación parece ser bastante estable. Se puede verificar esto ordenando un conjunto de
datos que tenga un par de ellos con la misma clave. Se vera claramente que el orden relativo entre
ellos es conservado. Algunos autores no lo consideran asi, pero independientemente de esto, este
algoritmo tienes entre sus
 ventajas:
Es fácil su implementación. No requiere memoria adicional. Realiza pocos intercambios. Tiene un
rendimiento constante, pues existe poca diferencia entre el peor y el mejor caso. Como todos
también tiene algunas
 desventajas:
Es lento y poco eficiente cuando se usa en listas grandes o medianas. Realiza numerosas
comparaciones.

ARBOLES
Son estructuras de datos “no lineales”, se utilizan para
representar formulas algebraicas, organizar objecto,
inteligencia artificial, algoritmo de cifrado.
Está compuesto de un conjunto finito de elementos
llamados “Nodos” y de un conjunto finito de líneas
llamadas “ramas”
¿Cómo identificar un Nodo?

ARBOLES BINARIOS
Son arboles cuyos nodos no pueden tener más de dos subárboles.
Cada nodo puede tener cero, uno o dos hijos (subárboles).se conoce el nodo de la izquierda como hijo
izquierdo y el nodo de la derecha como hijo derecho.

Un árbol binario es una estructura recursiva. Cada nos es la raíz de su propio subárbol y tiene hijos, que son
raíces de árboles llamados subárboles derecho e izquierdo del nodo, respectivamente. Un árbol binario se
divide en tres subconjuntos:
{R} Nodo raíz
{I1,I2,…,In} Subárbol izquierdo de R
{D1,D2,…,Dn} Subárbol derecho de R.
CARACTERÍSTICAS

EQULIBRIO
 La distancia de un nodo al nodo raíz determina la eficiencia con la que puede ser localizado.
Por ejemplo, dado cualquier nodo de un árbol, a sus hijos se puede acceder siguiendo sólo
un camino de bifurcación o de ramas, el que conduce al nodo deseado. De modo similar, los
nodos a nivel 2 un árbol sólo puede ser accedidos siguiendo sólo dos ramas del árbol.
 La característica anterior nos conduce a una característica muy importante de un árbol
binario, su balance equilibrio. Para determinar si un árbol está equilibrado, se calcula su
factor de equilibrio. El factor de equilibrio de un árbol binario es la diferencia en altura entre
los subárboles derecho e izquierdo. Si la altura del subárbol izquierdo es h, y la altura del
subárbol derecho es hD, entonces el factor de equilibrio del árbol B se determina por la
siguiente fórmula.
B= hD –hI
 Un árbol está perfectamente equilibrado si su equilibrio o balance es cero, y sus subárboles
son también perfectamente equilibrados. Dado que esta definición ocurre raramente se
aplica una definición alternativa. Un árbol binario está equilibrado si la altura de sus
subárboles difiere en
no más de uno (su factor de equilibrio es -1, 01, +1) y sus subárboles son también
equilibrados

ARBOLES BINARIOS COMPLETOS


 Un árbol binario completo de profundidad n es un árbol
en el que, para cada nivel, del 0 al nivel n-1 tiene un
conjunto lleno de nodos y todos los nodos hoja a nivel n
ocupan las posiciones más a la izquierda del árbol.
 Un árbol binario completo que contiene 2n nodos a nivel n
es un árbol lleno. Un árbol lleno es un árbol binario que
tiene el máximo número de entradas para su altura. Esto
sucede cuando el último nivel está lleno.
ESTRUCTURA DE UN ARBOL BINARIO
La estructura de un árbol binario se construye con nodos. Cada nodo debe contener el campo dato (datos a almacenar) y dos
campos de tipo puntero, uno al subárbol izquierdo y otro al subárbol derecho, que se conocen como puntero izquierdo y puntero
derecho respectivamente, Un valor NULL indica un árbol o un subárbol vacío

CREACION DE UN ARBOL BINARIO


 A partir del nodo raíz de un árbol se puede acceder a los demás nodos del árbol, por ello el puntero
que permite acceder al árbol es el que referencia a la raíz. Las ramas izquierda y Derecha son a su
vez árboles binarios que tienen su raíz, y así recursivamente hasta llegar a las hojas del árbol. La
formación del árbol para por la creación de cada uno de los nodos y el enlace con el
correspondiente nodo padre. Para crear un nodo de un árbol binario, se reserva memoria para el
nodo, se asigna el dato al campo correspondiente y se inicializa el puntero izdo., dicho a NULL.
OPERACIONES EN ARBOLES BINARIOS

 Una vez que se tiene creado un árbol binario, se pueden realizar diversas operaciones sobre él. El
hacer uso de una operación u otra dependerá de la aplicación que se le quiera dar al árbol. Algunas
de las operaciones típicas que se realizan en árboles binarios son:

ARBOL BINARIO DE BUSQUEDA


 Estos árboles se denominan árboles binarios de búsqueda, debido a que se pueden buscar en ellos
un término utilizando un algoritmo de búsqueda binaria similar al empleado en arrays.
 Un árbol binario de búsqueda es aquel que, dado un nodo, todos los datos del subárbol izquierdo
son menores que los datos de ese nodo, mientras que todos los datos del subárbol derecho son
mayores que sus propios datos.
CREACION DE UN ARBOL DE BUSQUEDA
 Supongamos que se desean almacenar los números 8, 3, 1, 20, 10, 5, 4 en un árbol binario de
búsqueda. Siguiendo la regla, dado un nodo en el árbol todos los datos a su izquierda deben ser
menores que todos los datos del nodo actual, mientras que todos los datos a la derecha deben ser
mayores que los datos. Inicialmente el árbol está vacío y se desea insertar el 8. La única elección es
almacenar el 8 en la raíz.
NODO DE UN ARBOL BINARIO DE BUSQUEDA
 Un nodo de un árbol binario de búsqueda no difiere en nada de los nodos de un árbol binario, tiene
un campo de datos y dos punteros a los subárboles izquierdo y derecho respectivamente.
 Un árbol de búsqueda se puede utilizar cuando se necesita que la información se encuentre
rápidamente. Un ejemplo de árbol binario de búsqueda es el que cada nodo contiene información
relativa a una persona. Cada nodo almacena un nombre de un alumno (dato de tipo cadena) y el
número de matrícula en su universidad (Dato entero).

ELIMINAR UN NODO DE UN ARBOL BINARIO


 LOS PASOS SON:
1. Buscar en el árbol para encontrar la posición del
nodo a eliminar. Si el nodo a suprimir tiene
menos de dos hijos, reajustar los enlaces de su
antecesor.
2. Si el nodo tiene dos hijos (rama izquierda y
derecha), es necesario subir a la posición que
este ocupa el dato más próximo de sus
subárboles (el inmediatamente superior o el
inmediatamente inferior) con el fin de mantener
la estructura de árbol binario de búsqueda.
ARBOLES BINARIOS DE BUSQUEDA AVL
Significa que son balanceados.
porque AVL se lo debemos a sus creadores Georgii Adelson-Vels, Kii y Yevgeniy Landis.
¿QUE SIGNIFICA BALANCEADO O EQUILIBRADO?

Para todo nodo la altura de sus subárboles izquierdo y derecho pueden diferir a lo máximo en 1.

OPERACIONES ARBOLES BINARIOS DE BUSQUEDA AVL


 INSERTAR
 ELIMINAR
 BUSCAR

Al insertar o eliminar se comprueba si el árbol esta desequilibrado, en caso de estarlo, se realiza


el balanceo.

¿CÓMO SE REALIZA UN BALANCEO DE UN ÁRBOL?


Mediante rotaciones:
 Rotación simple a la derecha
 Rotación simple a la
izquierda
 Rotación doble a la derecha
 Rotación doble a la izquierda
Se basa en el factor de equilibrio
Diferencia entre las alturas del
subárbol derecho y el subárbol
izquierdo
FE=AlturaSubarbolderecho-
AlturaSubarbolizquierdo
ROTACION SIMPLE DERECHA
Esta rotación se usará cuando el subárbol izquierdo de un nodo sea 2 unidades más alto que el
derecho, es decir, cuando su FE sea de -2. Y, además, la raíz del subárbol izquierdo tenga una
FE de -1, es decir, que este cargado a la izquierda.

ROTACION SIMPLE IZQUIERDA


Esta rotación se usará cuando el subárbol derecho de un nodo sea 2 unidades más alto que el izquierdo, es
decir, cuando su FE sea de 2. Y, además, la raíz del subárbol derecho tenga un FE de 1, es decir, que este
cargando ala derecha.

ROTACION DOBLE A LA DERECHA


Debo tener en cuenta que signo (+) derecho más alto, signo (-) izquierdo más alto
Un árbol binario es un avl si y solo si cada uno de sus nodos tiene un equilibrio de -1,0, +1
DESEQUILIBRIO
Desequilibrio hacia la izquierda (Equilibrio>+1)

Desequilibrio hacia la derecha (equilibrio>-1)

Si esta desequilibrado a la izquierda (FE>+1), y su hijo derecho tiene distinto signo (-)
Hacemos rotación doble derecha
Doble derecha = simple derecha + simple izquierda

ROTACION DOBLE A LA IZQUIERDA


Si esta desequilibrada a la derecha (FE<-1), y su hijo izquierdo tiene distinto signo (+) hacemos
rotación doble izquierda

Doble izquierda= simple izquierda + simple derecha

RECORRIDO DE UN ARBOL

Según sea la estrategia a seguir, los recorridos se conocen como enorden (inorder), preorden
(peorder) y postorden(postorder):
Preorden (nodo-izquierdo-derecho)(NID)
Enorden (izquierdo-nodo-derecho)(IND)
Postorden (izquierdo-derecho-nodo)(IDN)

RECORRIDO PREORDEN
El recorrido preorden(NID) conlleva los
siguientes pasos, en los que el nodo raíz va antes
que los subárboles:
1.- Visitar el nodo raíz (N)
2.- Recorrer el subárbol izquierdo (I) en preorden
3.- Recorrer el sub árbol derecho (D) en
preorden.
Dadas las características recursivas de los árboles, el algoritmo de recorrido tiene naturaleza
recursiva. Primero se procesa la raíz, a continuación, el subárbol izquierdo y después el subárbol
derecho. Para procesar el subárbol izquierdo, se hace una llamada recursiva al procedimiento
Preorden y luego se hace lo mismo con el subárbol derecho
RECORRIDO EN ORDEN
El recorrido enorden (inorder) procesa primero el subárbol izquierdo, después el raíz y a
continuación el subárbol derecho. El significado de in- es que la raíz se procesa entre los
subárboles.
Si el árbol no está vacío, el método implica los siguientes pasos:
1.- Recorrer el subárbol izquierdo (I) en inorden.
2.- Visitar el nodo raíz (N)
3.- Recorrer el subárbol derecho (D) en inorden.

RECORRIDO POSTORDEN
El recorrido postorden (IDN) procesa el nodo raíz (post) después de que los subárboles izquierdo y
derecho se han procesado. Se comienza situándose en la hoja más a la izquierda y se procesa. A
continuación, se procesa su subárbol derecho. Por último, se procesa el nodo raíz. Las etapas del
algoritmo, si el árbol no está vacío son:

1.- Recorrer el subárbol izquierdo (I) en postorden.


2.- Recorrer el subárbol derecho (D) en postorden.
3.- Visitar el nodo raíz (N).
Se implementó un programa utilizando los métodos de búsqueda binaria

Se ejecutó el código de árbol binario búsqueda AVL


CONCLUSIONES

El método de búsqueda binaria se encarga de examinar primero el elemento central de la lista; si


este es el elemento buscado entonces la búsqueda ha terminado. El tipo de búsqueda binaria se
utiliza en vectores ordenados.
Es por eso que luego de realizar este trabajo hemos visto como los algoritmos son una de las
herramientas más complejas y aplicables en el área de la informática y el mundo de los
computadores.
BIBLIOGRAFIA

https://es.slideshare.net/santybyron1/busqueda-binaria-44807559
https://prezi.com/bxannok_lke8/ordenamiento-por-insercion/
https://www.ecured.cu/Algoritmo_de_ordenamiento_por_selecci%C3%B3n

Potrebbero piacerti anche