SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
INGENIERIA EN INFORMATICA
Análisis de algoritmos
Mitad del cuadrado
Asignatura: Análisis de algoritmos
Integrantes: Eduardo Leiva
Jonathan García
Sergio Ormeño
Docente: Pilar Pardo H.
Fecha: 16/04/2014
1
Contenido
Introducción................................................................................................................................. 2
Algoritmos de Búsqueda ........................................................................................................... 3
Búsqueda Binaria:...................................................................................................................... 3
Búsqueda Lineal:........................................................................................................................ 3
Hashing........................................................................................................................................ 3
Truncamiento: ............................................................................................................................. 4
Plegamiento: ............................................................................................................................... 5
Aritmética Modular: .................................................................................................................... 5
Mitad del Cuadrado:................................................................................................................... 6
Caso Promedio ........................................................................................................................... 7
Peor Caso.................................................................................................................................... 7
Tratamiento de colisiones: ........................................................................................................ 8
Sondeo lineal............................................................................................................................... 8
Doble hashing ............................................................................................................................. 9
Encadenamiento de sinónimos ................................................................................................ 9
Direccionamiento por cubetas................................................................................................ 10
Cuadro comparativo de los métodos de búsqueda de un algoritmo................................ 10
Ventajas y Desventajas del Hashing..................................................................................... 11
Comportamiento de un Algoritmo .......................................................................................... 11
Ventajas y desventajas de los algoritmos ............................................................................ 11
Conclusión................................................................................................................................. 13
2
Introducción
Los algoritmos son preciados procesos que nos hacen en si la vida un poco más
ordenada a nivel de los que somos programadores o estamos inmersos en el mundo
de la informática, claro está, existen los creadores de los algoritmos y aquellos que
gozan del uso de estos en diferentes casos, La ciencia de un algoritmo en si es
simplificar un problema en base a un conjunto de pasos que nos permitan resolver
algo o satisfacer una necesidad. Pero, ¿cuantos tipos de algoritmos existen? ¿Solo
nos limita a una cosa a la vez? ¿Cómo es que logran resolver algo de manera
eficiente? ¿Que utilizan para su funcionamiento? Interrogantes como estas serán
evaluadas dentro de este informe, en donde se detallara en base a conocimientos
previos adquiridos en clases la temática de los algoritmos de Búsqueda, en este caso,
repasando la mayoría de los más usados actualmente, los de más demanda, pero en
si dejándonos un poco más de explicación sobre el tema algoritmo que nos convoca,
“Mitad de Cuadrado” o “función cuadrática”.
3
Algoritmos de Búsqueda
¿Qué es una Búsqueda a nivel de análisis de algoritmos?
Es una operación que busca un elemento X entre un conjunto de estos almacenados
ya sea de manera digital o simplemente de manera manual.
Búsqueda Binaria:
Para utilizar la búsqueda binaria debemos tener la lista previamente ordenada de
acuerdo al valor de la clave y conocer el número total de registros. La búsqueda
binaria reduce el tiempo de búsqueda considerablemente ya que disminuye las
iteraciones.
Está altamente recomendado para buscar en listas de gran tamaño. Por ejemplo, en
uno conteniendo 50.000.000 elementos, realiza como máximo 26 comparaciones (en
el peor de los casos). Para implementar este algoritmo se compara el elemento a
buscar con un elemento cualquiera de la lista, si el valor de éste es mayor que el del
elemento buscado se repite el procedimiento en la parte de la lista que va desde el
inicio hasta el elemento tomado, en caso contrario se toma la parte de la lista que va
desde el elemento tomado hasta el final. De esta manera obtenemos intervalos cada
vez más pequeños, hasta que se obtenga un intervalo indivisible. Si el elemento no se
encuentra dentro de este último entonces se deduce que el elemento buscado no se
encuentra en toda la lista.
Búsqueda Lineal:
La búsqueda secuencial se utiliza normalmente cuando la lista no está ordenada o no
se puede ordenar previamente. Consiste en buscar el elemento llamado clave
comparándolo con cada elemento de la lista (vector) hasta encontrarlo, o hasta que se
llegue al final.
Hashing
¿Qué es Hashing?
Esta es una función que consiste en transformar claves numéricas o alfanuméricas en
direcciones o índices de un vector. No es necesario que los elementos de la clave
estén ordenados para poder realizar este tipo de búsqueda. Existen más, pero se
contemplaran en este informe 4 métodos de transformación de claves que aún siguen
en uso: Truncamiento, plegamiento, aritmética modular y mitad del cuadrado.
4
Haciendo un poco de historia, el término de hash (apodado Hashing un tiempo más
tarde) proviene de una analogía que cuyo significado en ingles de dicha palabra se
aplica al mundo real como el “picar y mesclar”. Donal Knuth afirma que H.P Luhn
(empleado de IBM) fue el primero en utilizar el concepto en un memorándum fechado
en enero de 1953, aun así se desconoce de su uso hasta 10 años después cuando se
hizo masivo mediante un algoritmo creado y apodado SHA-1, este algoritmo se
basaba en una función de división que tomaba palabras y las dividía usando funciones
matemáticas seleccionadas especialmente para el lenguaje que interpretaba y tomaba
por entrada.
Truncamiento:
En este método se ignora parte de la clave y se deja la parte restante como índice.
Ejemplos:
5
Plegamiento:
El plegamiento en si se puede definir en base a dos puntos importantes:
o Se encarga de crear una partición de la clave en diferentes partes y
combinarlas.
o Todas las partes, a excepción de la última, deben tener el mismo número de
dígitos que el tamaño del vector.
Ejemplos:
Aritmética Modular:
Este método convierte la clave en un número entero, se divide por el tamaño del rango
del índice y toma el resto como resultado. La función que se utiliza es el MOD (módulo
o resto de la división entera).
Fórmula: H(x)= x MOD m
Ejemplos:
6
Mitad del Cuadrado:
El Método del Cuadrado Medio de von Neumann consistía en el uso de un algoritmo
en el cual al inicio se introduce un número cualquiera conformado por 10 dígitos, luego
se calcula el cuadrado de ese número inicial, a continuación se toman exactamente los
10 dígitos ubicados en la mitad del número resultante, y ese número conformado por
los 10 dígitos se toma como un nuevo número aleatorio que sirve para engrosar la
secuencia aleatoria generada, al cual posteriormente se le puede aplicar de nuevo el
algoritmo del cuadrado medio para así obtener sucesivamente más números
aleatorios.
El esquema de funcionamiento del algoritmo del Método del Cuadrado Medio
propuesto por John von Neumann es el siguiente:
Es decir en esta técnica, la llave es elevada al cuadrado, después algunos dígitos
específicos se extraen de la mitad del resultado para constituir la dirección relativa. Si
se desea una dirección de n dígitos, entonces los dígitos se truncan en ambos
extremos de la llave elevada al cuadrado, tomando n dígitos intermedios. Las mismas
posiciones de n dígitos deben extraerse para cada llave.
El tamaño de los dígitos a escoger seria n
7
En el caso que la cifra resultante sea par:
Los números centrales del resultado corresponden a la dirección.
En caso de que la cifra sea impar:
Se toma el dígito central y el anterior a ese dígito.
Ejemplos:
Lo que cabe señalar que el tamaño del vector no afecta directamente a la aplicación
del método, pero afecta al tiempo de ejecución de la búsqueda. Produciendo que se
ocupe más espacio en memoria.
Caso Promedio: que el vector este con su índice vacío, así mismo que el método
otorge una clave con una posición que se encuentre desocupada para así seguir
llenando sin problemas ni colisiones.
Peor Caso: que el índice (inicio) y la cola (final) estén ocupadas, que no se encuentre
una posición de acuerdo a la clave obtenida y que el algoritmo se caiga, crashee o
simplemente ocupe recursos al generar un loop infinito (dado que no habrá respuesta).
8
Tratamiento de colisiones:
Algunas de las funciones hash presentan colisiones, es por eso que se debe saber
qué hacer cuando a dos elementos diferentes les corresponde el mismo índice.
¿Qué es una colisión?
Es cuando la función hash obtiene una misma dirección para dos claves diferentes.
Al presentarse una colisión se requiere realizar un proceso adicional con el fin de
encontrar una posición para la clave, cuando la función hash logra evitar que se
produzcan colisiones se denomina Hashing perfecto.
Para el tratamiento de colisiones existen 2 métodos:
- Direccionamiento abierto:
Se encuentra entre dirección de origen para K2 dentro del archivo.
- Separación de desborde (Área de desborde):
Se encuentra una dirección para K2 fuera del área principal del archivo, en un
área especial de desborde, que es utilizada exclusivamente para almacenar
registro que no pueden ser asignados en su dirección de origen
Sondeo lineal
Es una técnica de direccionamiento abierto. Este es un proceso de búsqueda
secuencial desde la dirección de origen para encontrar la siguiente localidad, también
conocida como método de desbordamiento consecutivo.
Para almacenar un registro por Hashing con sondeo lineal, la dirección no debe caer
fuera del límite del archivo. En lugar de terminar cuando el límite del espacio de
dirección se alcanza, se regresa al inicio del espacio y sondeamos desde ahí. Por lo
que debe ser posible detectar si la dirección base ha sido encontrada de nuevo, lo cual
indica que el archivo está lleno y no hay espacio para la llave.
9
Para la búsqueda de un registro por Hashing con sondeo lineal, los valores de llave de
los registros encontrados en la dirección de origen, y en las direcciones alcanzadas
con el sondeo lineal, deberá compararse con el valor de la llave buscada, para
determinar si el registro objetivo ha sido localizado o no.
Doble Hashing
En esta técnica se aplica una segunda función hash para combinar la llave original con
el resultado del primer hash. El resultado del segundo hash puede situarse dentro del
mismo archivo o en un archivo de sobre flujo independiente; de cualquier modo, será
necesario algún método de solución si ocurren colisiones durante el segundo hash.
La ventaja del método de separación de desborde es que reduce la situación de una
doble colisión, la cual puede ocurrir con el método de direccionamiento abierto, en el
cual un registro que no está almacenado en su dirección de origen desplazará a otro
registro, el que después buscará su dirección de origen. Esto puede evitarse con
direccionamiento abierto, simplemente moviendo el registro extraño a otra localidad y
almacenando al nuevo registro en la dirección de origen ahora vacía.
Puede ser aplicado como cualquier direccionamiento abierto o técnica de separación
de desborde.
Para ambas métodos para la solución de colisiones existen técnicas para mejorar su
desempeño como:
Encadenamiento de sinónimos
Una buena manera de mejorar la eficiencia de un archivo que utiliza el cálculo de
direcciones, sin directorio auxiliar para guiar la recuperación de registros, es el
encadenamiento de sinónimos.
Mantener una lista ligada de registros, con la misma dirección de origen, no reduce el
número de colisiones, pero reduce los tiempos de acceso para recuperar los registros
que no se encuentran en su localidad de origen. El encadenamiento de sinónimos
puede emplearse con cualquier técnica de solución de colisiones.
Cuando un registro debe ser recuperado del archivo, sólo los sinónimos de la llave
objetivo son accesados.
10
Direccionamiento por cubetas
Otro enfoque para resolver el problema de las colisiones es asignar bloques de
espacio (cubetas), que pueden acomodar ocurrencias múltiples de registros, en lugar
de asignar celdas individuales a registros. Cuando una cubeta es desbordada, alguna
nueva localización deberá ser encontrada para el registro. Los métodos para el
problema de sobrecupo son básicamente los mismos que los métodos para resolver
colisiones.
Cuadro comparativo de los métodos de búsqueda de un algoritmo
11
Ventajas y Desventajas del Hashing
Ventajas:
o Se pueden usar los valores naturales de la llave, puesto que se traducen
internamente a direcciones fáciles de localizar
o Se logra independencia lógica y física, debido a que los valores de las llaves
son independientes del espacio de direcciones
o No se requiere almacenamiento adicional para los índices
Desventajas:
o No pueden usarse registros de longitud variable
o El archivo no está clasificado
o No se permiten claves repetidas
o Solo se permite acceso por una sola llave
Comportamiento de un Algoritmo
Caso Peor: mayor número posible de instrucciones ejecutadas por el algoritmo.
Caso Mejor: menor número posible de instrucciones ejecutadas por el algoritmo.
Caso Medio o promedio: número de instrucciones igual a la cantidad de instrucciones
ejecutadas por el algoritmo.
Ventajas y desventajas de los algoritmos
Los algoritmos son la esencia de la informática, son uno de los centros de interés de
muchas, si no todas, de las áreas del campo de la informática.
o Puedes trabajar en orden.
o Te redacta en orden paso a paso lo que hay que hacer.
o Ayuda a resolver más fácil y rápido los problemas.
o Disminuye sensiblemente el riesgo de errores.
o Favorece el obtener el máximo de información.
12
Desventajas de un algoritmo:
o Hay textos que desarrollan los algoritmos, mediante diversos tipos de
programas, por ejemplo: el lenguaje de programación C++, pero para
comprender las letras deben poseer al menos un año de experiencia en ese
lenguaje de programación de alto y bajo nivel.
o Muchos algoritmos interesantes llevan implícitos complicados métodos de
organización de los datos utilizados en el calendo.
o Con frecuencia sucede que muchos de los algoritmos que se van a utilizar son
fáciles de implementan una vez que se ha descompuesto el programa, sin
embargo, en la mayor parte de los casos, existen unos pocos algoritmos cuya
elección es crítica porque su ejecución ocupara la mayoría de los recursos del
sistema.
o La elección del mayor algoritmo para una tarea particular puede ser un proceso
muy complicado y con frecuencia conllevara un análisis matemático sofisticado.
o Actualmente se está estudiando en la informática, como seleccionar el
algoritmo que conduzca a la mejor implementación pues para la mayoría de los
problemas existen varios algoritmos diferentes.
13
Conclusión
Se han analizado las técnicas o métodos más utilizados en el ámbito de
posicionamiento, búsqueda y transformación de claves en relación a vectores, dado
esto se puede inferir a que cada método tiene su propio modo de operar en base a
algoritmos que dependiendo de lo que hagan nos brindaran una respuesta más rápida
y eficiente a lo que buscamos, según sea el topo dato alfanumérico o carácter a
posicionar o buscar, esto nos lleva a nuestro tema, “mitad de cuadrado” o “función
cuadrática” un método de transformación derivado como un sub método del Hashing el
cual nos ayuda a posicionar dentro de un arreglo vector o matriz una clave que según
sea la posición ira donde calce, dado esto, los métodos se complementan entre otros,
pero se concluye que todos son dependientes en su mayoría del truncamiento al
momento de querer enfrentar colisiones según sea el tamaño del vector y de la clave a
posicionar, búsqueda lineal y binaria solo dan con un número que se desee, entra en
el ámbito búsqueda, por lo tanto se diferencian del Hashing puesto que es un método
de transformación y a nuestro entender, el que entra primero en acción es el Hashing
para luego tener algo que buscar.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 
2.1.5 Ordenación por Distribucion.pptx
2.1.5 Ordenación por Distribucion.pptx2.1.5 Ordenación por Distribucion.pptx
2.1.5 Ordenación por Distribucion.pptx
 
Listas
ListasListas
Listas
 
Algoritmo de dekker
Algoritmo de dekker Algoritmo de dekker
Algoritmo de dekker
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Listas
ListasListas
Listas
 
Direccionamiento
DireccionamientoDireccionamiento
Direccionamiento
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#
 
Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamiento
 
Método por plegamiento Hash
Método por plegamiento HashMétodo por plegamiento Hash
Método por plegamiento Hash
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Método de insercion
Método de insercionMétodo de insercion
Método de insercion
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Dominio de base de datos
Dominio de base de datosDominio de base de datos
Dominio de base de datos
 

Destacado

Destacado (11)

Informe Tic N1
Informe Tic N1Informe Tic N1
Informe Tic N1
 
Informe analisis de algoritmos
Informe analisis de algoritmosInforme analisis de algoritmos
Informe analisis de algoritmos
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
 
Algoritmo De Cuadrados Medios
Algoritmo De Cuadrados MediosAlgoritmo De Cuadrados Medios
Algoritmo De Cuadrados Medios
 
Algoritmo De Multiplicador Constante & Algoritmo Lineal
Algoritmo De Multiplicador Constante & Algoritmo LinealAlgoritmo De Multiplicador Constante & Algoritmo Lineal
Algoritmo De Multiplicador Constante & Algoritmo Lineal
 
Algoritmos Coungrenciales No Lineales
Algoritmos Coungrenciales No LinealesAlgoritmos Coungrenciales No Lineales
Algoritmos Coungrenciales No Lineales
 
Algoritmo congruencial aditivo
Algoritmo congruencial aditivoAlgoritmo congruencial aditivo
Algoritmo congruencial aditivo
 
Numeros Aleatorios
Numeros AleatoriosNumeros Aleatorios
Numeros Aleatorios
 
Minimos Cuadrados Presentacion Final
Minimos Cuadrados Presentacion FinalMinimos Cuadrados Presentacion Final
Minimos Cuadrados Presentacion Final
 
EL INFORME
EL INFORMEEL INFORME
EL INFORME
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 

Similar a Informe analisis de algoritmos (mitad de cuadrado)

Busqueda por HASH
Busqueda por HASHBusqueda por HASH
Busqueda por HASHSykrayo
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de BúsquedaPedro Avaria
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6eliezerbs
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedapazmoralesv
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda BinariaSanTy BizZle
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaOsirysRock
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaJavier Alvarez
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modularvvillegass
 
Factorización de números semiprimos
Factorización de números semiprimosFactorización de números semiprimos
Factorización de números semiprimosPepeGarcia111
 
Técnicas de Diseño Detallado.
Técnicas de Diseño Detallado.Técnicas de Diseño Detallado.
Técnicas de Diseño Detallado.guestdf1874
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaJose Rivera
 

Similar a Informe analisis de algoritmos (mitad de cuadrado) (20)

Busqueda por HASH
Busqueda por HASHBusqueda por HASH
Busqueda por HASH
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
 
Algoritmos de búsqueda
Algoritmos de búsquedaAlgoritmos de búsqueda
Algoritmos de búsqueda
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modular
 
Informe aritmetica modular
Informe aritmetica modularInforme aritmetica modular
Informe aritmetica modular
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Factorización de números semiprimos
Factorización de números semiprimosFactorización de números semiprimos
Factorización de números semiprimos
 
Infore de proyecto v1
Infore de proyecto v1Infore de proyecto v1
Infore de proyecto v1
 
Busqueda de datos
Busqueda de datosBusqueda de datos
Busqueda de datos
 
Introduccion Analisis Algoritmos
Introduccion Analisis AlgoritmosIntroduccion Analisis Algoritmos
Introduccion Analisis Algoritmos
 
Técnicas de Diseño Detallado.
Técnicas de Diseño Detallado.Técnicas de Diseño Detallado.
Técnicas de Diseño Detallado.
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda Binaria
 
Analisissss
AnalisissssAnalisissss
Analisissss
 

Más de Sergio Ormeño

Recorrido de grafos 1ra parte
Recorrido de grafos 1ra parteRecorrido de grafos 1ra parte
Recorrido de grafos 1ra parteSergio Ormeño
 
Recorrido de grafos 2da parte
Recorrido de grafos 2da parteRecorrido de grafos 2da parte
Recorrido de grafos 2da parteSergio Ormeño
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemasSergio Ormeño
 
Presentacion Algoritmo heapsort
Presentacion Algoritmo heapsortPresentacion Algoritmo heapsort
Presentacion Algoritmo heapsortSergio Ormeño
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosSergio Ormeño
 

Más de Sergio Ormeño (8)

Ejercicios grafos
Ejercicios grafos Ejercicios grafos
Ejercicios grafos
 
Ejercicios grafos
Ejercicios grafosEjercicios grafos
Ejercicios grafos
 
Recorrido de grafos 1ra parte
Recorrido de grafos 1ra parteRecorrido de grafos 1ra parte
Recorrido de grafos 1ra parte
 
Recorrido de grafos 2da parte
Recorrido de grafos 2da parteRecorrido de grafos 2da parte
Recorrido de grafos 2da parte
 
Clasificacion de los problemas
Clasificacion de los problemasClasificacion de los problemas
Clasificacion de los problemas
 
Catedra grafos
Catedra grafosCatedra grafos
Catedra grafos
 
Presentacion Algoritmo heapsort
Presentacion Algoritmo heapsortPresentacion Algoritmo heapsort
Presentacion Algoritmo heapsort
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmos
 

Último

Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxEnriqueLineros1
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptNancyMoreiraMora1
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 

Último (20)

Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 

Informe analisis de algoritmos (mitad de cuadrado)

  • 1. INGENIERIA EN INFORMATICA Análisis de algoritmos Mitad del cuadrado Asignatura: Análisis de algoritmos Integrantes: Eduardo Leiva Jonathan García Sergio Ormeño Docente: Pilar Pardo H. Fecha: 16/04/2014
  • 2. 1 Contenido Introducción................................................................................................................................. 2 Algoritmos de Búsqueda ........................................................................................................... 3 Búsqueda Binaria:...................................................................................................................... 3 Búsqueda Lineal:........................................................................................................................ 3 Hashing........................................................................................................................................ 3 Truncamiento: ............................................................................................................................. 4 Plegamiento: ............................................................................................................................... 5 Aritmética Modular: .................................................................................................................... 5 Mitad del Cuadrado:................................................................................................................... 6 Caso Promedio ........................................................................................................................... 7 Peor Caso.................................................................................................................................... 7 Tratamiento de colisiones: ........................................................................................................ 8 Sondeo lineal............................................................................................................................... 8 Doble hashing ............................................................................................................................. 9 Encadenamiento de sinónimos ................................................................................................ 9 Direccionamiento por cubetas................................................................................................ 10 Cuadro comparativo de los métodos de búsqueda de un algoritmo................................ 10 Ventajas y Desventajas del Hashing..................................................................................... 11 Comportamiento de un Algoritmo .......................................................................................... 11 Ventajas y desventajas de los algoritmos ............................................................................ 11 Conclusión................................................................................................................................. 13
  • 3. 2 Introducción Los algoritmos son preciados procesos que nos hacen en si la vida un poco más ordenada a nivel de los que somos programadores o estamos inmersos en el mundo de la informática, claro está, existen los creadores de los algoritmos y aquellos que gozan del uso de estos en diferentes casos, La ciencia de un algoritmo en si es simplificar un problema en base a un conjunto de pasos que nos permitan resolver algo o satisfacer una necesidad. Pero, ¿cuantos tipos de algoritmos existen? ¿Solo nos limita a una cosa a la vez? ¿Cómo es que logran resolver algo de manera eficiente? ¿Que utilizan para su funcionamiento? Interrogantes como estas serán evaluadas dentro de este informe, en donde se detallara en base a conocimientos previos adquiridos en clases la temática de los algoritmos de Búsqueda, en este caso, repasando la mayoría de los más usados actualmente, los de más demanda, pero en si dejándonos un poco más de explicación sobre el tema algoritmo que nos convoca, “Mitad de Cuadrado” o “función cuadrática”.
  • 4. 3 Algoritmos de Búsqueda ¿Qué es una Búsqueda a nivel de análisis de algoritmos? Es una operación que busca un elemento X entre un conjunto de estos almacenados ya sea de manera digital o simplemente de manera manual. Búsqueda Binaria: Para utilizar la búsqueda binaria debemos tener la lista previamente ordenada de acuerdo al valor de la clave y conocer el número total de registros. La búsqueda binaria reduce el tiempo de búsqueda considerablemente ya que disminuye las iteraciones. Está altamente recomendado para buscar en listas de gran tamaño. Por ejemplo, en uno conteniendo 50.000.000 elementos, realiza como máximo 26 comparaciones (en el peor de los casos). Para implementar este algoritmo se compara el elemento a buscar con un elemento cualquiera de la lista, si el valor de éste es mayor que el del elemento buscado se repite el procedimiento en la parte de la lista que va desde el inicio hasta el elemento tomado, en caso contrario se toma la parte de la lista que va desde el elemento tomado hasta el final. De esta manera obtenemos intervalos cada vez más pequeños, hasta que se obtenga un intervalo indivisible. Si el elemento no se encuentra dentro de este último entonces se deduce que el elemento buscado no se encuentra en toda la lista. Búsqueda Lineal: La búsqueda secuencial se utiliza normalmente cuando la lista no está ordenada o no se puede ordenar previamente. Consiste en buscar el elemento llamado clave comparándolo con cada elemento de la lista (vector) hasta encontrarlo, o hasta que se llegue al final. Hashing ¿Qué es Hashing? Esta es una función que consiste en transformar claves numéricas o alfanuméricas en direcciones o índices de un vector. No es necesario que los elementos de la clave estén ordenados para poder realizar este tipo de búsqueda. Existen más, pero se contemplaran en este informe 4 métodos de transformación de claves que aún siguen en uso: Truncamiento, plegamiento, aritmética modular y mitad del cuadrado.
  • 5. 4 Haciendo un poco de historia, el término de hash (apodado Hashing un tiempo más tarde) proviene de una analogía que cuyo significado en ingles de dicha palabra se aplica al mundo real como el “picar y mesclar”. Donal Knuth afirma que H.P Luhn (empleado de IBM) fue el primero en utilizar el concepto en un memorándum fechado en enero de 1953, aun así se desconoce de su uso hasta 10 años después cuando se hizo masivo mediante un algoritmo creado y apodado SHA-1, este algoritmo se basaba en una función de división que tomaba palabras y las dividía usando funciones matemáticas seleccionadas especialmente para el lenguaje que interpretaba y tomaba por entrada. Truncamiento: En este método se ignora parte de la clave y se deja la parte restante como índice. Ejemplos:
  • 6. 5 Plegamiento: El plegamiento en si se puede definir en base a dos puntos importantes: o Se encarga de crear una partición de la clave en diferentes partes y combinarlas. o Todas las partes, a excepción de la última, deben tener el mismo número de dígitos que el tamaño del vector. Ejemplos: Aritmética Modular: Este método convierte la clave en un número entero, se divide por el tamaño del rango del índice y toma el resto como resultado. La función que se utiliza es el MOD (módulo o resto de la división entera). Fórmula: H(x)= x MOD m Ejemplos:
  • 7. 6 Mitad del Cuadrado: El Método del Cuadrado Medio de von Neumann consistía en el uso de un algoritmo en el cual al inicio se introduce un número cualquiera conformado por 10 dígitos, luego se calcula el cuadrado de ese número inicial, a continuación se toman exactamente los 10 dígitos ubicados en la mitad del número resultante, y ese número conformado por los 10 dígitos se toma como un nuevo número aleatorio que sirve para engrosar la secuencia aleatoria generada, al cual posteriormente se le puede aplicar de nuevo el algoritmo del cuadrado medio para así obtener sucesivamente más números aleatorios. El esquema de funcionamiento del algoritmo del Método del Cuadrado Medio propuesto por John von Neumann es el siguiente: Es decir en esta técnica, la llave es elevada al cuadrado, después algunos dígitos específicos se extraen de la mitad del resultado para constituir la dirección relativa. Si se desea una dirección de n dígitos, entonces los dígitos se truncan en ambos extremos de la llave elevada al cuadrado, tomando n dígitos intermedios. Las mismas posiciones de n dígitos deben extraerse para cada llave. El tamaño de los dígitos a escoger seria n
  • 8. 7 En el caso que la cifra resultante sea par: Los números centrales del resultado corresponden a la dirección. En caso de que la cifra sea impar: Se toma el dígito central y el anterior a ese dígito. Ejemplos: Lo que cabe señalar que el tamaño del vector no afecta directamente a la aplicación del método, pero afecta al tiempo de ejecución de la búsqueda. Produciendo que se ocupe más espacio en memoria. Caso Promedio: que el vector este con su índice vacío, así mismo que el método otorge una clave con una posición que se encuentre desocupada para así seguir llenando sin problemas ni colisiones. Peor Caso: que el índice (inicio) y la cola (final) estén ocupadas, que no se encuentre una posición de acuerdo a la clave obtenida y que el algoritmo se caiga, crashee o simplemente ocupe recursos al generar un loop infinito (dado que no habrá respuesta).
  • 9. 8 Tratamiento de colisiones: Algunas de las funciones hash presentan colisiones, es por eso que se debe saber qué hacer cuando a dos elementos diferentes les corresponde el mismo índice. ¿Qué es una colisión? Es cuando la función hash obtiene una misma dirección para dos claves diferentes. Al presentarse una colisión se requiere realizar un proceso adicional con el fin de encontrar una posición para la clave, cuando la función hash logra evitar que se produzcan colisiones se denomina Hashing perfecto. Para el tratamiento de colisiones existen 2 métodos: - Direccionamiento abierto: Se encuentra entre dirección de origen para K2 dentro del archivo. - Separación de desborde (Área de desborde): Se encuentra una dirección para K2 fuera del área principal del archivo, en un área especial de desborde, que es utilizada exclusivamente para almacenar registro que no pueden ser asignados en su dirección de origen Sondeo lineal Es una técnica de direccionamiento abierto. Este es un proceso de búsqueda secuencial desde la dirección de origen para encontrar la siguiente localidad, también conocida como método de desbordamiento consecutivo. Para almacenar un registro por Hashing con sondeo lineal, la dirección no debe caer fuera del límite del archivo. En lugar de terminar cuando el límite del espacio de dirección se alcanza, se regresa al inicio del espacio y sondeamos desde ahí. Por lo que debe ser posible detectar si la dirección base ha sido encontrada de nuevo, lo cual indica que el archivo está lleno y no hay espacio para la llave.
  • 10. 9 Para la búsqueda de un registro por Hashing con sondeo lineal, los valores de llave de los registros encontrados en la dirección de origen, y en las direcciones alcanzadas con el sondeo lineal, deberá compararse con el valor de la llave buscada, para determinar si el registro objetivo ha sido localizado o no. Doble Hashing En esta técnica se aplica una segunda función hash para combinar la llave original con el resultado del primer hash. El resultado del segundo hash puede situarse dentro del mismo archivo o en un archivo de sobre flujo independiente; de cualquier modo, será necesario algún método de solución si ocurren colisiones durante el segundo hash. La ventaja del método de separación de desborde es que reduce la situación de una doble colisión, la cual puede ocurrir con el método de direccionamiento abierto, en el cual un registro que no está almacenado en su dirección de origen desplazará a otro registro, el que después buscará su dirección de origen. Esto puede evitarse con direccionamiento abierto, simplemente moviendo el registro extraño a otra localidad y almacenando al nuevo registro en la dirección de origen ahora vacía. Puede ser aplicado como cualquier direccionamiento abierto o técnica de separación de desborde. Para ambas métodos para la solución de colisiones existen técnicas para mejorar su desempeño como: Encadenamiento de sinónimos Una buena manera de mejorar la eficiencia de un archivo que utiliza el cálculo de direcciones, sin directorio auxiliar para guiar la recuperación de registros, es el encadenamiento de sinónimos. Mantener una lista ligada de registros, con la misma dirección de origen, no reduce el número de colisiones, pero reduce los tiempos de acceso para recuperar los registros que no se encuentran en su localidad de origen. El encadenamiento de sinónimos puede emplearse con cualquier técnica de solución de colisiones. Cuando un registro debe ser recuperado del archivo, sólo los sinónimos de la llave objetivo son accesados.
  • 11. 10 Direccionamiento por cubetas Otro enfoque para resolver el problema de las colisiones es asignar bloques de espacio (cubetas), que pueden acomodar ocurrencias múltiples de registros, en lugar de asignar celdas individuales a registros. Cuando una cubeta es desbordada, alguna nueva localización deberá ser encontrada para el registro. Los métodos para el problema de sobrecupo son básicamente los mismos que los métodos para resolver colisiones. Cuadro comparativo de los métodos de búsqueda de un algoritmo
  • 12. 11 Ventajas y Desventajas del Hashing Ventajas: o Se pueden usar los valores naturales de la llave, puesto que se traducen internamente a direcciones fáciles de localizar o Se logra independencia lógica y física, debido a que los valores de las llaves son independientes del espacio de direcciones o No se requiere almacenamiento adicional para los índices Desventajas: o No pueden usarse registros de longitud variable o El archivo no está clasificado o No se permiten claves repetidas o Solo se permite acceso por una sola llave Comportamiento de un Algoritmo Caso Peor: mayor número posible de instrucciones ejecutadas por el algoritmo. Caso Mejor: menor número posible de instrucciones ejecutadas por el algoritmo. Caso Medio o promedio: número de instrucciones igual a la cantidad de instrucciones ejecutadas por el algoritmo. Ventajas y desventajas de los algoritmos Los algoritmos son la esencia de la informática, son uno de los centros de interés de muchas, si no todas, de las áreas del campo de la informática. o Puedes trabajar en orden. o Te redacta en orden paso a paso lo que hay que hacer. o Ayuda a resolver más fácil y rápido los problemas. o Disminuye sensiblemente el riesgo de errores. o Favorece el obtener el máximo de información.
  • 13. 12 Desventajas de un algoritmo: o Hay textos que desarrollan los algoritmos, mediante diversos tipos de programas, por ejemplo: el lenguaje de programación C++, pero para comprender las letras deben poseer al menos un año de experiencia en ese lenguaje de programación de alto y bajo nivel. o Muchos algoritmos interesantes llevan implícitos complicados métodos de organización de los datos utilizados en el calendo. o Con frecuencia sucede que muchos de los algoritmos que se van a utilizar son fáciles de implementan una vez que se ha descompuesto el programa, sin embargo, en la mayor parte de los casos, existen unos pocos algoritmos cuya elección es crítica porque su ejecución ocupara la mayoría de los recursos del sistema. o La elección del mayor algoritmo para una tarea particular puede ser un proceso muy complicado y con frecuencia conllevara un análisis matemático sofisticado. o Actualmente se está estudiando en la informática, como seleccionar el algoritmo que conduzca a la mejor implementación pues para la mayoría de los problemas existen varios algoritmos diferentes.
  • 14. 13 Conclusión Se han analizado las técnicas o métodos más utilizados en el ámbito de posicionamiento, búsqueda y transformación de claves en relación a vectores, dado esto se puede inferir a que cada método tiene su propio modo de operar en base a algoritmos que dependiendo de lo que hagan nos brindaran una respuesta más rápida y eficiente a lo que buscamos, según sea el topo dato alfanumérico o carácter a posicionar o buscar, esto nos lleva a nuestro tema, “mitad de cuadrado” o “función cuadrática” un método de transformación derivado como un sub método del Hashing el cual nos ayuda a posicionar dentro de un arreglo vector o matriz una clave que según sea la posición ira donde calce, dado esto, los métodos se complementan entre otros, pero se concluye que todos son dependientes en su mayoría del truncamiento al momento de querer enfrentar colisiones según sea el tamaño del vector y de la clave a posicionar, búsqueda lineal y binaria solo dan con un número que se desee, entra en el ámbito búsqueda, por lo tanto se diferencian del Hashing puesto que es un método de transformación y a nuestro entender, el que entra primero en acción es el Hashing para luego tener algo que buscar.