Ordenación de datos y algoritmos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 2,82 KB

Ordenar

Ordenar significa reorganizar un conjunto de datos u objetos en una secuencia definida. Se clasifican en 2 categorías:

Ordenación Interna

Se utiliza cuando los elementos del arreglo se encuentran en la memoria principal de la computadora.

Ordenación Externa

Se utiliza cuando los elementos se encuentran en archivos almacenados en dispositivos de almacenamiento secundario como discos, cintas, etc.

Tipo de ordenación interna

Los métodos de ordenación interna pueden ser clasificados en dos tipos: Directos e indirectos.

Métodos directos (n^2)

Como inserción, selección directa, burbuja, shell.

Métodos logarítmicos (N*logN, logN)

Como quicksort, heapsort y montículo, etc.

Primero, conceptos

Algoritmo: Conjunto de reglas para resolver un problema. Su ejecución requiere de diversos recursos.

Eficiencia: Cantidad de recursos de cómputo que necesita.

Recursos que se necesitan

Recursos consumidos. Ejemplo: ¿Cuántos recursos de tiempo y memoria consume el siguiente algoritmo?

Factores que influyen en el consumo de recursos

Factores externos, la máquina donde se ejecute, el lenguaje de programación y el compilador usado, la implementación que haga el programador del algoritmo, tamaño de los datos de entrada, contenido de los datos de entrada.

Complejidad de los algoritmos

Tiempos y espacio de complejidad se analizan con la notación asintótica.

Notación Asintótica

Describe el comportamiento de la complejidad del tiempo y espacio que un algoritmo necesita.

La gran O

La notación de la O provee de los límites superiores de la función f.

Inserción y selección directa

//a es un arreglo de n elementos

Método de Shell

Este método es una versión mejorada del método inserción directa, se llama así en honor a su autor, Donald L. Shell.

Método Quicksort

Actualmente es el más eficiente y veloz.

Búsqueda Binaria

Esta búsqueda consiste en dividir el intervalo de búsqueda en dos partes, comparando el elemento buscado con el central. En caso de no ser iguales se redefinen los extremos del intervalo.

Búsqueda por transformación de claves o Hash

Permite tener acceso directamente a los datos. Se utilizan funciones Hash para calcular el índice en el cual vamos a almacenar el dato y posteriormente buscarlo.

Funciones Hash

Es importante seleccionar una buena función hash, a continuación se presentan algunas.

Solución de Colisiones

Una colisión ocurre cuando se generan dos índices iguales con diferentes claves. Los métodos para solucionar colisiones se clasifican en Reasignación, Arreglos Anidados, Encadenamiento.

Entradas relacionadas: