Está en la página 1de 16

UNIVERSIDAD DIGITAL DEL ESTADO DE MÉXICO

LICENCIATURA EN INFORMÁTICA ADMINISTRATIVA

ESTUDIANTE: LABASTIDA LUNA ANGELA MICHELLE

MATRÍCULA: UDX042030004

ASESOR (A): GENARO GUTIERREZ BECERRIL

UNIDAD DE APRENDIZAJE:

3.0

ACTIVIDAD DE APRENDIZAJE:

UNIDAD 4: TIPOS DE ALGORITMOS Y LENGUAJES DE PROGRAMACIÓN

FECHA DE ENTREGA

24 DE MARZO DE 2021
Contenido
INTRODUCCIÓN.....................................................................................................................................3

DESARROLLO DE LA ACTIVIDAD:....................................................................................................4

CONCLUSIONES...................................................................................................................................12

FUENTES CONSULTADAS..................................................................................................................13

BIBLIOGRAFÍA:....................................................................................................................................13

INTRODUCCIÓN

La tecnología a favor de tu formación académica .


Los algoritmos, son métodos organizados para indicarle a un ordenador la forma en la que debe o no de
operar respectivamente ante una serie de instrucciones especificas en un lenguaje que el propio
ordenador pueda entender y procesar.

Desde su creación, estos han sido modificados una y otra vez para hacerlos más y más eficientes para
diferentes tipos de tareas, entre ellas, la investigación o búsqueda y el ordenamiento de información
para una o más entidades, uno de estos, podría ser el motor de búsqueda de Google o el algoritmo de
recomendaciones de YouTube.

Entre los principales algoritmos de ordenamiento, existen:

- Insertion sort
- Selection sort
- Bubble sort
- Quicksort
- Heapsort
- Mergesort

Todos y cada uno con sus diferentes características que los diferencian entre sí, y, en los algoritmos de
búsqueda, los principales son:

- Búsqueda lineal
- Búsqueda binaria
- HAshing
- Búsqueda de textos

En este trabajo, se revisarán los diferentes tipos de algoritmos de búsqueda y orden y se describirán sus
funciones únicas y características

DESARROLLO DE LA ACTIVIDAD:

La tecnología a favor de tu formación académica .


MÉTODOS DE ORDENAMIENTO

No. Componentes Características Ejemplo


1 Insertion Sort Este método consiste en ordenar la
estructura desplazando los
elementos mayores hacia la parte
derecha y los inferiores hacia la
parte izquierda.

El método toma a cada elemento de


la estructura y los compara con los
que se encuentran en posiciones
anteriores a la de él, dentro de la
estructura; si resulta que el elemento
con el que se está comparando es
mayor que el elemento a ordenar se
recorre hacia la siguiente posición
superior.

Si, por el contrario, si es menor; se


detiene el proceso de comparación
debido a que se encontró que el
elemento ya está ordenado y se
coloca en su posición (que es la
siguiente a la del último número con
el que se comparo

La tecnología a favor de tu formación académica .


MÉTODOS DE ORDENAMIENTO

No. Componentes Características Ejemplo


2 Selection Sort El ordenamiento por selección
(Selection Sort en inglés) es un
algoritmo de ordenamiento que
requiere operaciones para ordenar
una lista de n elementos.

Busca el mínimo elemento de la


lista
Intercambiarlo con el primero
Busca el siguiente mínimo en el
resto de la lista, se intercambia con
el segundo
Y en general: buscar el mínimo
elemento entre una posición i y el
final de la lista
Se intercambia el mínimo con el
elemento de la posición i

De esta manera se puede escribir el


siguiente pseudocódigo para
ordenar una lista de n elementos
indexados desde el 0:

La tecnología a favor de tu formación académica .


MÉTODOS DE ORDENAMIENTO

No. Componentes Características Ejemplo


3 Bubble Sort Es un sencillo algoritmo de
ordenamiento.
Funciona revisando cada elemento
de la lista que va a ser ordenada con
el siguiente, intercambiándolos de
posición si están en el orden
equivocado.

Es necesario revisar varias veces


toda la lista hasta que no se
necesiten más intercambios, lo cual
significa que la lista está ordenada.
Este algoritmo obtiene su nombre
de la forma con la que suben por la
lista los elementos durante los
intercambios, como si fueran
pequeñas "burbujas".
También es conocido como el
método del intercambio directo.

Dado que solo usa comparaciones


para operar elementos, se lo
considera un algoritmo de
comparación, siendo uno de
los más sencillos de
implementar.

La tecnología a favor de tu formación académica .


MÉTODOS DE ORDENAMIENTO

No. Componentes Características Ejemplo


4 Quicksort El método Quick Sort es
actualmente el más eficiente y veloz
de los métodos de ordenación
interna. Es también conocido con el
nombre del método rápido y de
ordenamiento por partición.

Este método es una mejora


sustancial del método de
intercambio directo y recibe el
nombre de Quick Sort, por la
velocidad con la que ordena los
elementos del arreglo.

Quicksort es un algoritmo basado en


la técnica de divide y vencerás, que
permite, en promedio, ordenar n
elementos en un tiempo
proporcional a n log n.

Quicksort es actualmente el más


eficiente y veloz de los métodos de
ordenación interna.
5 Heapsort Significa ordenamiento por
montículos. Es un algoritmo de
ordenación no recursivo, no estable,
con complejidad computacional O
(n log n).

Este algoritmo consiste en


almacenar todos los elementos del
vector a ordenar en un montículo
(heap), y luego extraer el nodo que
queda como nodo raíz del montículo
(cima) en sucesivas iteraciones
obteniendo el conjunto ordenado.

La tecnología a favor de tu formación académica .


MÉTODOS DE ORDENAMIENTO

No. Componentes Características Ejemplo


Basa su funcionamiento en una
propiedad de los montículos, por la
cual, la cima contiene siempre el
menor elemento (o el mayor, según
se haya definido el montículo) de
todos los almacenados en él.

La tecnología a favor de tu formación académica .


MÉTODOS DE ORDENAMIENTO

No. Componentes Características Ejemplo


6 Merge sort Merge sort. Algoritmo basado en la
técnica de diseño de algoritmos
Divide y Vencerás

Consiste en dividir el problema a


resolver en subproblemas del mismo
tipo que a su vez se dividirán,
mientras no sean suficientemente
pequeños o triviales.

MergeSort es un ordenamiento
estable, paraleliza mejor, y es más
eficiente manejando medios
secuenciales de acceso lento.

MergeSort es a menudo la mejor


opción para ordenar una lista
enlazada: en esta situación es
relativamente fácil implementar

MergeSort de manera que sólo


requiera O(1) espacio extra, y el mal
rendimiento de las listas enlazadas
ante el acceso aleatorio hace que
otros algoritmos como quicksort den
un bajo rendimiento, y para otros
como heapsort sea algo imposible.

El algoritmo de MergeSort es un
algortimo de sort que presenta
algunas propiedades interesantes.

La tecnología a favor de tu formación académica .


MÉTODOS DE BÚSQUEDA

No. Componentes Características Ejemplo

1 Búsqueda lineal La búsqueda lineal o la búsqueda


secuencial es un método para encontrar un
valor objetivo dentro de una lista. Esta
comprueba secuencialmente cada
elemento de la lista para el valor objetivo
hasta que es encontrado o hasta que todos
los elementos hayan sido comparados.

Búsqueda lineal es en tiempo el peor, y


marca como máximo n comparaciones,
donde n es la longitud de la lista. Si la
probabilidad de cada elemento para ser
buscado es el mismo, entonces la
búsqueda lineal tiene una media de n/2
comparaciones, pero esta media puede ser
afectado si las probabilidades de búsqueda
para cada elemento varían. La búsqueda
lineal es poco práctica porque otros
algoritmos de búsqueda y esquemas, como
el algoritmo de búsqueda binaria y Tabla
hash , es significativamente más rápido
buscando todo menos listas cortas.

La tecnología a favor de tu formación académica .


2 Búsqueda La búsqueda binaria funciona en
binaria
arreglos ordenados. Consiste en
eliminar, tras cada comparación, la
mitad de los elementos del arreglo en
los que se efectúa la búsqueda
comienza por comparar el elemento
del medio del arreglo con el valor
buscado.

Si el valor buscado es igual al


elemento del medio, su posición en el
arreglo es retornada. Si el valor
buscado es menor o mayor que el
elemento del medio, la búsqueda
continua en la primera o segunda
mitad, respectivamente, dejando la
otra mitad fuera de consideración; y si
son iguales, se ha encontrado dicho
valor buscado y se devuelve la
posición y sale del bucle.

La tecnología a favor de tu formación académica .


3 HAshing A la función resumen también se le
denomina función hash, función
digest, función extracto o función de
extractado.

La función hash tiene como entrada un


conjunto de elementos, que suelen ser
cadenas, y los convierte en un rango
de salida finito, normalmente cadenas
de longitud fija.

Todos los números se pueden convertir


al número especificado de cifras
simplemente anteponiendo ceros.
Normalmente el conjunto U tiene un
número elevado de elementos y M es
un conjunto de cadenas con un número
más o menos pequeño de símbolos.

La idea básica de un valor hash es que


sirva como una representación
compacta de la cadena de entrada. Por
esta razón se dice que estas funciones
resumen datos del conjunto dominio.

4 Búsqueda en La búsqueda de patrones en un texto es


textos
un problema muy importante en la
práctica.

La tecnología a favor de tu formación académica .


Sus aplicaciones en computación son
variadas, como por ejemplo la
búsqueda de una palabra en un archivo
de texto o problemas relacionados con
biología computacional, en donde se
requiere buscar patrones dentro de una
secuencia de ADN, la cual puede ser
modelada como una secuencia de
caracteres (el problema es más
complejo que lo descrito, puesto que
se requiere buscar patrones en donde
ocurren alteraciones con cierta
probabilidad, esto es, la búsqueda no
es exacta).

 n denotará el largo del texto en


donde se buscará el patrón, es
decir, texto = a1 a2 ... an.

 m denotará el largo del patrón a


buscar, es decir, patrón =
b1 b2  ... bm.

La tecnología a favor de tu formación académica .


CONCLUSIONES

Cada algoritmo tiene su razón de ser y existir, además de que cada uno tiene la capacidad exacta de
cumplir las demandas del desarrollador, es importante reconocer y comprender para que sirve y como
esta compuesto cada tipo de algoritmo para usarlo de manera adecuada o adaptarlo en ciertas ocasiones
a la actividad que se desea realizar, puesto que, no todos los algoritmos se van a ajustar a las
necesidades que tenemos de primeras.

En este trabajo me consta que cada algoritmo va a ser especifico para una o más series de acciones o
tareas que yo desee que haga por mí; en el caso de los algoritmos de ordenamiento, queda claro que su
uso es para ordenar y clasificar información recabada o dada por el desarrollador, esto con el fin de
mantenerla en orden y poder acceder a bibliotecas de información de manera rápida y segura sin tener
que revisar mil y una carpetas para ello.

Para el caso de los algoritmos de búsqueda, me queda claro que son para la búsqueda de información o
de datos dentro de una data bank o dentro de un directorio (como podría ser la carpeta de Windows 32)
para su posterior análisis u ordenamiento con otro tipo de algoritmo como el mencionado
anteriormente.

La tecnología a favor de tu formación académica .


Es un poco peligroso este último tipo de algoritmos, pues son los que yo pienso son usados por
programas de software peligroso (como virus, troyanos, gusanos informáticos, spyware, etc.) para robar
información personal o para ataques a gran escala con computadores zombi.

FUENTES CONSULTADAS

BIBLIOGRAFÍA:

Martínez Vidal (2006). Introducción al análisis de algoritmos. Consultado el 22 de junio de 2020.

Hernández, R., Lázaro, J. C., Dormido, R., & Ros, S. (2001). Estructuras de datos y Algoritmos.
Prentice Hall.

Joyanes Aguilar, L. (1998). Fundamentos de Programación, Algoritmos y Estructuras de Datos.


McGraw-Hill.

Joyanes Aguilar, L. (2006). Programación en C++ Algoritmos Estructuras de Datos y Objetos.


McGraw-Hill.

Joyanes Aguilar, L., & Sánchez García, L. (2008). Estructuras de Datos en c++. Mc Graw Hill.

Joyanes Aguilar, L., & Zahonero Martínez, I. (2001). Programación en C metodología, Algoritmos y
Estructura de datos. McGraw-Hill

AHO, V., ALFRED, H., JOHN, U., & JEFFREY. (1998). ESTRUCTURAS DE DATOS Y
ALGORITMOS. MEXICO, D.F.: IMPRESIONES ALDINA, S.A.

La tecnología a favor de tu formación académica .


Kiosquea. (13 de 09 de 2013). Obtenido de http://es.kioskea.net/faq/2872-listas-doblemente-enlazadas

Monografias. (12 de 10 de 2013). Obtenido de


http://www.monografias.com/trabajos14/datos/datos.shtml

Slodeshare. (2 de 09 de 2013). Obtenido de http://www.slideshare.net/josepino/quicksort-7645707

PEÑA M., Ricardo. Diseño de programas. Formalismo y abstracción. Prentice-Hall, 1998.

WEISS, M. A., Estructuras de datos y algoritmos. Addison-Wesley Iberoamericana, 1995.

La tecnología a favor de tu formación académica .

También podría gustarte