Hashing (Funciones de Dispersión)
|
|
- Marta Rubio Botella
- hace 5 años
- Vistas:
Transcripción
1 Hashing características Hashing (Funciones de Dispersión) Mauricio Solar Lorna Figueroa No necesita almacenamiento adicional (índice). Facilita la inserción y eliminación rápida de registros. Encuentra registros con muy pocos accesos en promedio, al disco. La idea general hashing es colocar, en la forma menos relacionada posible, la información entregada por los elementos, de manera tal que su acceso sea eficiente y exista una adecuada repartición de los mismos a lo largo de todo el espacio de almacenamiento. Desventajas: No se pueden usar registros de longitud variable. No puede haber orden físico de datos. No permite llaves duplicadas. Hashing La tabla hash Se necesita un mecanismo de acceso a registros sólo con una lectura. Visto hasta ahora: Secuencia: n/ accesos en promedio Ordenado: log n Arboles: o accesos La representación de conjuntos o diccionarios con listas o arrays tiene un tiempo de O(n), para Insertar, Suprimir y Pertenece. Con vectores de bits el tiempo es O(cte), pero tiene muchas limitaciones. Cómo aprovechar lo mejor de uno y otro tipo? Idea: Usar un array con B posiciones (,..., B-). Dada una clave x calcular una posición mediante una función: h(x) = posición en (.. B-) h: Función de hashing El elemento (x, v) se inserta en esa posición..... B- Hashing algunas definiciones Técnica para generar una dirección base para una llave dada. Técnica que convierte la llave registro en un número aleatorio, el que sirve después para determinar dónde se almacena el registro. Técnica de almacenamiento y recuperación que usa una función de hash para mapear registros en una dirección de almacenamiento. La tabla hash Para buscar el elemento con clave x, aplicar la función h(x) y buscar en la posición correspondiente. Ejemplo: Si x de tipo entero h(x) = x módulo B Si x de tipo cadena h(x) = (suma de códigos ascii (x)) mod B
2 La tabla hash Hashing abierto En promedio se necesita un tiempo constante O(cte): aplicar h(x) y acceder a esa posición. M - Tabla de encabezados de celdas o cubetas Listas de elementos de cada celda La tabla hash El tipo de x no está restringido. Si es un registro, se puede tomar uno de sus campos como clave, y aplicar la función sobre él. Función de hashing: h: Clave [,..., B-] Tamaño de la tabla B: aproximadamente mayor que el número de elementos normalmente, B << rango de claves Hashing abierto typedef Lista_asociacion TablaHash[B-]; La tabla hashing está formada por B cubetas. Dentro de cada cubeta se encuentran los elementos sinónimos (con igual de h). El conjunto de sinónimos es llamado clase. La tabla hash Qué ocurre si para dos elementos distintos x, y, h(x) = h(y)? Definición: Si (x y) (h(x) = h(y)) entonces se dice que x, y son sinónimos. Los distintos métodos de hashing difieren en el tratamiento de los sinónimos. Existen dos tipos de hashing, que se distinguen por las formas de almacenar los elementos:. Abierto o externo: permite manejar almacenar los conjuntos en un espacio potencialmente ilimitado (tamaños arbitrarios). Cerrado o interno: usa un espacio fijo para almacenamiento, limitando así el tamaño de los conjuntos. Hashing cerrado En esta clase de hashing sólo existe la estructura de las celdas o la tabla, donde deben almacenarse todos los elementos conjunto o diccionario, en vez de usarse como encabezados de listas. y h celda ocupada Celdas alternativas h(x) Situación de colisión en hashing cerrado o interno x
3 Hashing cerrado typedef AsociacionTablaHash[B-] Si al insertar un elemento nuevo x, ya está ocupado h(x), se dice que ocurre una colisión. En este caso será necesario hacer rehashing: buscar una nueva posición para almacenar el elemento. Hashing cerrado Qué ocurre con la eliminación de elementos? Se necesita una marca especial suprimido, que indique la posición de un elemento borrado. En la función Miembro, se sigue la búsqueda hasta llegar a un suprimido. En Inserta el espacio de ese elemento se puede utilizar (como si fuera vacío). Problema rehashing lineal: Si se llenan varias cubetas consecutivas y hay una colisión, se debe consultar todo el grupo. Aumenta el tamaño de este grupo, haciendo que las inserciones y búsquedas sean más lentas. Hashing cerrado estrategias de reubicación (rehashing) Consiste en explorar posiciones alternativas: h (y), h (y), h (y), h (y),... Dichas posiciones se buscan en orden hasta hallar un espacio vacío donde almacenar el elemento (o bien hasta agotar el espacio disponible, si la tabla está llena). Rehashing: Si falla h(x), aplicar h (x), h (x),... hasta encontrar una posición libre. Rehashing: h i (x)= (h(x) + i) mod B La secuencia de posiciones recorridas para un elemento se suele denominar cadena o secuencia de búsqueda. Funciones Hashing Propiedades de una buena función de hashing La función debe minimizar el número de colisiones: debe ser lo más aleatoria posible y repartir los elementos en la tabla de manera uniforme. La función debe ser fácil de calcular (se busca eficiencia). Ojo: h(x) es función de x, devuelve siempre el mismo para un mismo de x. Hashing cerrado Miembro (x, D): Examinar la posición h(x). Si x está en la posición h(x) entonces devolver Verdad (ó Tabla[h(x)].). Si está vacía entonces no es miembro, devolver Falso. En otro caso, la posición está ocupada pero por otro elemento. Se deben examinar las posiciones h (x), h (x),... y así sucesivamente hasta encontrar x, vacío ó examinar toda la tabla. hash(tipodato llave, int #max) { int sum =; int j = ; while (j < #elementos de llave) { sum = sum + * llave[j] + llave[j+]; j = j + ; } return sum mod #max; }
4 Multiplicación. Dada una clave x entera: h(x) = (x * C) mod B; para algún C, con C y B primos entre sí Dígitos centrales: h(x) = x / mod B Escoger un C, tal que BC K, para x en el intervalo (,..., K). h(x)= (x / C) mod B Ejemplo: K = ; B = ; C =; h() = Otro posible método: h(x) = ( C*x / C + x*c) mod B Plegado o folding: Con cadenas. Agrupar caracteres de n en n: Cada carácter es un número en el intervalo.. Se suman los es de los grupos. Ejemplo: x = abcdefgh h(x)=( a+ b +c + d + e + f + g+h) mod B Con reales. Agrupar dígitos decimales de n en n: Ejemplo: h(x) = ((x * ) + (x * ) + (x * ) +... ) mod B Otro ejemplo con reales: h(x) = Frac (x) * B Centros cuadrados: la llave se multiplica por sí misma, tomando los dígitos centrales al cuadrado; posteriormente se ajusta al espacio disponible. División: la clave se divide por un número aproximadamente igual al número de direcciones (número primo, pues tiende a distribuir residuos en forma más eficiente). Desplazamiento: los dígitos externos de ambos extremos se corren hacia adentro, se suman y se ajusta al espacio disponible. Análisis de dígitos: analizan las claves para eliminar posibles repeticiones en la misma. Cuál usar? tomar algunas claves o llaves problema, simular el comportamiento con algunos métodos y se toma el que mejor se comporta. En general: Método de la división es mejor Método plegado para claves muy largas Conversión de raíz: la base número se modifica y en la serie de dígitos resultante, se suprimen los dígitos de orden mayor. División polinómica: cada dígito clave se toma como coeficiente de polinomio, se divide por un polinomio fijo, coeficiente resto se toma como dirección. Con cadenas. Suma de códigos ASCII: suma = ; para i = hasta longitud(x) hacer suma = suma + ord(x[i]); devolver (suma mod B); Tratamiento de Colisiones Es posible reducir el % de overflow, pero el problema se mantiene dado que no se llega al %. Existen dos métodos principales de rehashing:. prueba lineal. doble hashing
5 Tratamiento de Colisiones Tratamiento de Colisiones Prueba lineal o secuencial Si la función de hashing de un elemento apunta al índice i, pero en esa posición ya existe otro elemento, se trata de verificar las posiciones inmediatamente siguientes: i+, i+, i+,..., hasta encontrar una posición vacía (en secuencia). Si se llegó al final de la tabla continuar buscando al principio (posición ): H(x,) = h(x) H(x,p+) = H(x,p) + mod M Doble hashing x y z h(z) h(y) h(x) celda ocupada H(x,) + h (y) + h (z) H(x,) H(y,) H(x,) H(z,) H(y,) Situación de colisiones múltiples resuelta con doble hashing Tratamiento de Colisiones Obviamente el número máximo de pruebas es M-, de lo contrario se empieza a repetir la búsqueda ( p < M). Esta técnica es muy fácil de implementar y tiene un comportamiento satisfactorio cuando la tabla no está muy llena. x h(x) H(x,) H(x,) H(x,)... celda ocupada Celdas alternativas Problema: agrupamiento primario: una vez que un bloque de posiciones consecutivas aparece ocupada en la tabla se transforma en un blanco para colisiones subsecuentes. Eso va produciendo bloques ocupados cada vez más grandes y más fáciles de hacer blanco de colisiones. Funciones re-hashing Estrategias de rehashing (para hashing cerrado): Intervalos constantes mayores que : h i (x) = (h(x) + C*i) mod B; para algún C > Ejemplo: B =, C =, h(x) =, se buscaría en:,,,,,,, B y C deben ser primos entre sí, para buscar en todas las posiciones. No se soluciona el problema, ya que se crean grupos a saltos de C. Tratamiento de Colisiones Doble hashing Consiste en usar una segunda función de hashing h cuyos es son independientes hashing primario. Este nuevo se agrega a la posición hallada en caso de colisión, y así sucesivamente hasta resolver el problema de posicionamiento: H(x,) = h(x) H(x,p+) = (H(x,p) + h (x)) mod M Funciones re-hashing Permutaciones aleatorias: h i (x) = (h(x) + D i ) mod B; para D i = (D, D,...) una permutación de,,..., B- La permutación se fija de antemano. Se soluciona el problema para determinadas permutaciones D i.
6 Funciones re-hashing Método para obtener una permutación: Sea B una potencia de. Se toma una constante K, en el intervalo (,..., B-). Empezamos con un cualquiera D= D i D i+ = *D i Si D i+ > B Resta = D i+ -B; D i+ = Resta K; D i = (,,,,,,,,...) {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado : Función hash: h() + = ==> no hay conflicto Funciones re-hashing Ejemplo: B = ; K = = b ; D = = b {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Di* Resta Resta D D D D D D D D Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto Insertar en una tabla hash de tamaño, las claves:,,,,,,,,,, con los métodos : hash lineal, hash cuadrático, hash encadenado h(x) = x mod la función hash usa el último dígito en la representación decimal de la llave. Contar el número de comparaciones necesarias para cada operación. {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto Tabla inicial:
7 {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado: Función hash: h() + = ==> no hay conflicto Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = (vuelve a ) ==> no hay conflicto {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = () ==> hay conflicto Función hash: h() + = () ==> hay conflicto Función hash: h() + = () ==> hay conflicto Función hash: h() + = () ==> no hay conflicto {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado: Función hash: h() + = ==> conflicto Función hash: h() + = ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> no hay conflicto
8 {,,,,,,,,, } Hash lineal: h(x) = x mod + i; i =,,... Número Insertado: Función hash: h() + = ==> conflicto Función hash: h() + = ==> conflicto Función hash: h() + = ==> conflicto Función hash: h() + = ==> conflicto Función hash: h() + = ==> no conflicto {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto Total Número de Pruebas: {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado : Función hash: h() + = ==> no hay conflicto {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> no hay conflicto {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = (vuelve a ) ==> no hay conflicto
9 {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> conflicto Función hash: h() + = ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto Función hash: h() + = () ==> conflicto No importa cuánto tiempo se busque, no se encontrará un lugar! {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = ==> no hay conflicto {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> conflicto Función hash: h() + = ==> conflicto Función hash: h() + = ==> no hay conflicto Total Número de Pruebas: (excluyendo la búsqueda fallada para el ) Cuando se insertó el, nunca se examinaron las dos celdas disponibles, y. Nota: para que toda la tabla sea investigada el factor de carga tiene que ser mayor que, y el tamaño de la tabla tiene que ser primero. {,,,,,,,,, } Método cuadrático: h(x) = x mod + i; i =,,,... Número Insertado: Función hash: h() + = ==> hay conflicto Función hash: h() + = () ==> hay conflicto Función hash: h() + = () ==> no hay conflicto {,,,,,,,,, } Hash encadenado separado: La tabla de encadenamiento separada agrega a una lista enlazada cuando ocurre una colisión. El resultado final se parece a : -> -> ->
10 El número de búsqueda en una lista enlazada es: Valor Insertado Compariciones Total : Eliminar las claves,, y desde la tabla hash: Hash lineal: Eliminar : h() + = ==> no se encuentra h() + = () ==> encontrado Total Número de pruebas: Eliminar las claves,, y desde la tabla hash: Eliminar las claves,, y desde la tabla hash: Hash lineal: Eliminar : h() + = ==> Eliminado ==> continuar la búsqueda h() + = () ==> Eliminado h() + = () ==> No encontrado h() + = () ==> No encontrado h() + = () ==> Encontrado Total Número de pruebas: Eliminar las claves,, y desde la tabla hash: Eliminar las claves,, y desde la tabla hash: Hash lineal: Eliminar : h() + = ==> no se encuentra h() + = ==> encontrado Total Número de pruebas: Método Cuadrático : Eliminar : h() + = ==> No encontrado h() + = ==> Encontrado Total Número de Pruebas :
11 Eliminar las claves,, y desde la tabla hash: Eliminar las claves,, y desde la tabla hash: -> -> -> Método Cuadrático : Eliminar : h() + = ==> eliminado h() + = () ==> encontrado Total Número de Pruebas : Método encadenado separado: Eliminar : Valor : Comparaciones : -> Eliminar las claves,, y desde la tabla hash: Eliminar las claves,, y desde la tabla hash: -> -> -> Método Cuadrático : Eliminar : h() + = ==> Eliminado h() + = () ==> Eliminado h() + = ( ) ==> Encontrado Total Número de Pruebas : Método encadenado separado: Eliminar : Valor : Comparaciones : -> Eliminar las claves,, y desde la tabla hash: Método encadenado separado: Eliminar : Valor : Comparaciones : -> -> -> Referencias bibliográficas Estructura de Datos y Algoritmos. Aho, Hopcroft, Ullman. Addison-Wesley Iberoamericana. García Mateos, A.A.E.D. Apuntes de la UNLP Facultad de Informática. -> ->
Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 05: Tablas hash M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Función
Más detallesEstructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria
Estructura de datos y Algoritmos Tema III Clasificación en memoria secundaria 3.1. Clasificación externa basada en mezcla 3.1.1. Mezcla directa. 3.1.2. Mezcla natural. 3.1.3. Mezcla balanceada múltiple.
Más detallesAlonso Ramirez Manzanares Computación y Algoritmos 03.05
Tablas de hash (2) mat-151 Alonso Ramirez Manzanares Computación y Algoritmos 03.05 Tablas de hash: resolviendo colisiones por encadenamiento cuando el número de elementos en total es proporcional al número
Más detallesTablas de Dispersión (Hashing Tables)
Tablas de Dispersión (Hashing Tables) Las tablas de dispersión o hashing tables (en inglés) es una técnica que se utiliza para implementar inserciones, eliminaciones y búsquedas en un tiempo medio constante.
Más detallesTEMA 3 TRANSFORMACIÓN DE CLAVES (HASHING)
TEMA 3 TRANSFORMACIÓN DE CLAVES (HASHING) o como encontrar, con el mínimo esfuerzo, una clave dada dentro de un conjunto de elementos. p-1- OBJETIVOS DE ESTE CAPITULO: Concepto de Hashing (Dispersión).
Más detallesEstructuras de datos: Tablas de dispersión
Estructuras de datos: Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge sjorge@udc.es Referencias bibliográficas M. A. Weiss. Dispersión. En Estructuras de datos y algoritmos,
Más detallesAlgoritmos y Estructuras de Datos Curso 04/05. Ejercicios
35. Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}, mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con arrays de booleanos y con listas de elementos (ordenadas
Más detallesCapítulo 3. Clasificación en Memoria Secundaria
Capítulo 3. Clasificación en Memoria Secundaria INTRODUCCIÓN Las memorias secundarias (cintas magnéticas, discos duros, ) se caracterizan en general porque el acceso es secuencial. Es decir, en un instante
Más detallesTablas de dispersión (hash tables)
Tablas de dispersión (hash tables) La dispersión es una técnica empleada para realizar inserciones, eliminaciones y búsquedas en un tiempo promedio constante. La estructura de datos ideal para la tabla
Más detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática
2.1.Sean A= {1, 2, 3, 7, 8} y B= {3, 4, 5, 7, 9}, mostrar la ejecución y los resultados de las siguientes operaciones, suponiendo una representación con arrays de booleanos y con listas de elementos (ordenadas
Más detallesEsquema básico de una Tabla de Dispersión
3 Tablas de Dispersión Estructura de datos para gestionar colecciones de elementos donde la búsqueda de un elemento puede hacerse en O(1) en un alto porcentaje de casos - mejora el tiempo de búsqueda en
Más detallesAnálisis y Diseño de Algoritmos Tablas de Hash
Análisis y Diseño de Algoritmos Tablas de Hash Guillermo Morales-Luna Arturo Díaz Pérez CONTENIDO 1. Dispersión 2. Funciones de dispersión (a) Método de división (b) Método de multiplicación 3. Direccionamiento
Más detallesEs común al crear estructuras de datos y luego trabajar sobre las mismas, tener la necesidad de realizar búsquedas en forma más frecuente que la
Es común al crear estructuras de datos y luego trabajar sobre las mismas, tener la necesidad de realizar búsquedas en forma más frecuente que la necesidad de realizar inserciones. Por ejemplo si tenemos
Más detallesFICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 4. Técnicas de Dispersión. Definición y Manejo.
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 4. Técnicas de Dispersión. Definición y Manejo. 1.- Introducción. 2.- Funciones de Dispersión. 3.- Saturación Progresiva. 4.- Empaquetado
Más detallesTema 2. Conjuntos y Diccionarios
y Diccionarios 2.1. Repaso del TAD Conjunto 2.2. Implementaciones básicas 2.3. El TAD Diccionario 2.4. Las tablas de dispersión 2.5. Relaciones muchos a muchos AED-I 1 2.1. Repaso del TAD conjunto Definiciones
Más detallesProgramación. Tema 8: Tablas Hash. Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el????
Programación. Tema : Tablas Hash /Mayo/ Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el???? Tema : Tabla Hash Las tabla hash aparece para conseguir
Más detallesPrograma de teoría. AED I. Estructuras de Datos. 2. Conjuntos y diccionarios. AED II. Algorítmica. 1. Abstracciones y especificaciones
Programa de teoría AED I. Estructuras de Datos 1. Abstracciones y especificaciones 2. Conjuntos y diccionarios 3. Representación de conjuntos mediante árboles 4. Grafos 1. Análisis de algoritmos 2. Divide
Más detalleslocalizar de un dato con un acceso directo y en una sola comparación de la llave. HASH
HASH Un conjunto es una colección de objetos, los cuales no necesariamente tienen relación entre sí, como de orden, descendencia, etc.; tampoco están obligados a compartir atributos. En el área computacional,
Más detallesTabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
Más detallesTabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
Más detallesTema 2. Conjuntos y Diccionarios.
Programa de teoría AED I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. AED II. Algorítmica. 1. Análisis
Más detallesTema 2. Conjuntos y Diccionarios.
Programa de teoría Parte I. Estructuras de Datos.. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica.. Análisis
Más detallesTablas Asociativas (Hash) Tablas: filas & columnas de información Especificación algebraica
Tablas Asociativas (Hash) Tablas: filas & columnas de información Una tabla tiene varios campos (tipos de información) Una guía telefónica podría tener campos como: nombre, dirección, número de teléfono,
Más detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx Contenedores que asocian claves con valores mediante un procedimiento conocido como hash o hashing Clave k A32641 O(1) Índice Clave Valor 0 A12456 Adrián Gordillo
Más detallesRegistros Un campo: Registro:
Agenda 1) 2) registros ordenados registros desordenado Agenda 3) Organización de. 4) desordenado Organización de. Un campo: es el elemento de datos básico. Un campo individual contiene un valor único.
Más detallesEstructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010
Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del
Más detallesArchivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A.
Docente: Albert A. Osiris Sofía 1º Cuatrimestre 2002 Conceptos Básicos Indices Ordenados Arboles Asociación Indexación y Asociación Archivos Indice 1 2 3 1 Archivos Indice Ordenados Asociativos Primario
Más detallesProcesadores de lenguaje Tema 6 La tabla de símbolos
Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de
Más detalles1. Características de la organización direccionada 2. Tipos de organización direccionada 3. Funciones de Transformación 4. Gestión de desbordamientos
Tema 3: Organización Direccionada 1. Características de la organización direccionada 2. Tipos de organización direccionada 3. Funciones de Transformación 4. Gestión de desbordamientos Tema 3.1: Organización
Más detallesTablas (Diccionarios). Modelo matemático
Tablas (Diccionarios). Modelo matemático Asumimos un conjunto de claves C y un conjunto de valores V. Matemáticamente una tabla es una aplicación t : C V. El grafo de dicha función es un conjunto de pares
Más detallesTEMA 4 El tipo conjunto
TEMA El tipo conjunto PROGRAMACIÓN Y ESTRUCTURAS DE DATOS Tipo conjunto. Definiciones generales. Diccionario.. Tabla de dispersión.. Trie.. Árboles de búsqueda digitales. Cola de prioridad.. Montículo..
Más detallesTema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom
Tema 05: Tablas hash M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Tablas hash o de dispersión Función
Más detallesTema 6. Ordenación, búsqueda e intercalación interna
Fundamentos de Programación I Tema 6. Ordenación, búsqueda e intercalación interna Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de
Más detallesProcesadores de lenguaje Tema 6 La tabla de símbolos
Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de
Más detallesEstructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas
Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Departamento de Informática Universidad de Valladolid Curso 2011-12 Grado en Ingeniería Informática Grado en Ingeniería Informática de
Más detallesLista Simple con Puntero al Principio y Puntero al Final
Unidad 3 Estructuras de Datos Avanzadas Introducción Hasta el momento se estudiaron las siguientes estructuras estáticas y dinámicas básicas para representar diferentes colecciones de elementos: Arreglo
Más detallesModelo Físico. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea
Bases de Modelo Físico M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl de un solo II Semestre - 2014 Bases de de un solo de un solo Bases de Objetivos de la Unidad Entender
Más detallesFICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo.
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 3. Estructuras de Almacenamiento Básicas. Definición y Manejo. 1.- Búsqueda de Información. Definición de Clave. 2.- Definición y Manejo
Más detallesEl TAD tabla y las tablas dispersas (o tablas hash) Lección 19
El TAD tabla y las tablas dispersas (o tablas hash) Lección 19 Concepto de Tabla Una tabla es un conjunto o colección de pares c se denomina clave, y v se denomina valor asociado a la clave c En
Más detallesTema 10: Árbol binario de búsqueda
Tema 10: Árbol binario de búsqueda M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Árbol binario de
Más detallesEstructura de Datos Árboles Árboles 2-3
Estructura de Datos Árboles 1-2-3 Árboles 2-3 Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 Arboles 1-2-3 Árbol n-ario ordenado de orden 3 Cada nodo tiene 1 ó 2 elementos 75 Nodo
Más detallesEstructura de datos Tema 6: Tablas de dispersión (hashing)
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 6: Tablas de dispersión (hashing) Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Funciones hash
Más detalles4. TABLAS. Una tabla esta ordenada, si las claves de información de los registros están ordenadas: k j < k j+1 (j=1,2,...)
4. TABLAS Las tablas son agregados de componentes individuales llamados registros. Los registros son una entidad con una colección de datos asociados con nombres para establecer el tipo de información.
Más detallesEstructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2 Table of Contents Árboles
Más detallesAlgoritmos sobre Listas
TEMA 6 Algoritmos sobre Listas V1.1 Manuel Pereira González Agenda Introducción Algoritmos de Búsqueda Búsqueda Secuencial Búsqueda Binaria Análisis de Eficiencia Algoritmos de Inserción Algoritmos de
Más detallesTema 1. Ordenación, búsqueda e intercalación interna
Fundamentos de Programación II Tema 1. Ordenación, búsqueda e intercalación interna Luis Rodríguez Baena (luis.rodriguez@upsam.es) Universidad Pontificia de Salamanca Escuela Superior de Ingeniería y Arquitectura
Más detallesINDICE 1. Introducción: Archivos y Estructuras de Archivos 2. Operaciones Fundamentales para el Procesamiento de Archivos
INDICE 1. Introducción: Archivos y Estructuras de Archivos 1.1. Almacenamiento primario y secundario 2 1.2. Nada es gratis 3 1.3. Archivos 5 1.4. Estructuras de archivos versus estructuras de datos 6 1.5.
Más detallesESTRUCTURAS DE ARBOLES Y HASHING
Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Bases de Datos Integrantes: Herrera, Manuel C.I. 17.171.090 Balladares, Edgar C.I. 17.631.176 ESTRUCTURAS
Más detallesTitulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores
Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores Bloque 1: Introducción Tema 2: Sistema binario de representación numérica Pablo Huerta Pellitero ÍNDICE Bibliografía.
Más detallesUNIDAD DE APRENDIZAJE I
UNIDAD DE APRENDIZAJE I Saberes procedimentales Interpreta y utiliza correctamente el lenguaje simbólico para el manejo de expresiones algebraicas. 2. Identifica operaciones básicas con expresiones algebraicas.
Más detallesAlgoritmos y Estructuras de Datos I Ejercicios. Tema 3. Árboles
3.1. Explicar por qué es necesario, en la representación de conjuntos mediante árboles trie, utilizar una marca de fin de palabra $ (puesto que podríamos hacer que las palabras del conjunto se correspondieran
Más detallesUNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS ESTRUCTURA DE ARCHIVOS
Más detallesTablas de Dispersión
Tablas de Dispersión Representación de datos especialmente diseñada para que las operaciones de acceso, inserción y borra por valor o campo clave sean eficientes (tiempo promedio constante, indepiente
Más detalles6. El TDA Lista Implementación con listas enlazadas. es de tipo genérico T. Pueden existir elementos repetidos (a diferencia de los conjuntos).
6. El TDA Lista 6.1. Definición 6.2. Operaciones del TDA 6.3. Implementación con vectores 6.4. Implementación con listas enlazadas 6.5. Comparativa Bibliografía: -Weiss - Aho, Hopcroft y Ullman 6.1. Definición
Más detallesUNIVERSIDAD CATÓLICA DEL NORTE PROGRAMA DE ESTUDIOS IDENTIFICACIÓN DE LA ASIGNATURA. Nombre: Estructuras de Datos y Archivos
1 UNIVERSIDAD CATÓLICA DEL NORTE PROGRAMA DE ESTUDIOS IDENTIFICACIÓN DE LA ASIGNATURA Nombre: Estructuras de Datos y Archivos Código: CC- 672 Fecha Actualización: 30/07/2008 Unidad Responsable: Departamento
Más detalles7. Agrupamiento (clustering)
7. Agrupamiento (clustering) INMUEBLES y CONTRATOS I IA4 En medio, 8 Centro Castellón 600 C 004 Q6 600 Visa 00 S /6/99 /5/00 I IL94 Riu Ebre, 4 Ronda Sur Castellón 50 C 0075 Q76 50 Efectivo 700 N //00
Más detallesPara archivos, existen las siguientes organizaciones:
2. ARCHIVOS Entendemos por estructura a la forma cómo están constituidos físicamente los archivos, y organización de archivos a la forma de administración de los archivos, en función de las relaciones
Más detallesEstructuras de Datos II
Estructuras de Datos II Segundo Parcial Los árboles B+ son estructuras de datos jerárquicas que se utilizan para almacenar y manipular datos ordenados de forma muy eficiente, ya que por su estructura y
Más detallesEstructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2
Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2 Diseño de algoritmos recursivos 1. Dado un vector de enteros de longitud N,
Más detallesIngeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos.
Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos. Con relación a la Estructura LISTA Indicar objetos reales que se puedan modelar con dicha estructura. Listas de Ordenes de visitas
Más detallesExamen de Estructuras de Datos y Algoritmos. (Modelo 2)
Examen de Estructuras de Datos y Algoritmos (Modelo 2) 17 de junio de 2009 1. Se dispone de una tabla hash de tamaño 12 con direccionamiento abierto y sondeo cuadrático. Utilizando como función hash la
Más detallesExamen de Estructuras de Datos y Algoritmos. (Modelo 1)
Examen de Estructuras de Datos y Algoritmos (Modelo 1) 17 de junio de 2009 1. Qué rotación se necesita para transformar el árbol de la figura en un árbol AVL? a) Rotación simple izquierda-izquierda b)
Más detallesTAD CONJUNTOS Y MULTICONJUNTOS
TAD CONJUNTOS Y MULTICONJUNTOS INTRODUCCIÓN Qué es un conjunto? Un conjunto en matemática es una colección de objetos. Los objetos no mantienen ninguna relación aparente entre ellos y tampoco están obligados
Más detallesÁrboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap)
Práctico 4 Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Clasificación de ejercicios: (I) Imprescindibles (R) Recomendados (C) Complementarios Árboles balanceados (AVL)
Más detallesA) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES
Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN
Más detallesCursos Propedéuticos 2015
Listas Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores http://ccc.inaoep.mx/~rcumplido/ Contenido de la sección Listas Principales operaciones Listas secuenciales vs Listas ligadas
Más detallesIntroducción a las tablas Hash (I)
Introducción a las tablas Hash (I) Una tabla Hash es un contenedor asociativo (tipo Diccionario) que permite un almacenamiento y posterior recuperación eficientes de elementos (denominados valores) a partir
Más detallesEl nivel Interno. Índice Tema 3
El nivel Interno Índice Tema 3 iel nivel Interno...1 Introducción...2 Etapas de acceso a la base de datos...2 Gestor de Disco...3 Gestor de Ficheros...3 Agrupamiento...4 Interactivos...4 Entrearchivos...4
Más detallesEstructuras Dinámicas de datos.
Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos
Más detallesIntroducción. Tema 1. Fundamentos de informática. Universidad de Oviedo. Fundamentos de Informática. Departamento de Informática Universidad de Oviedo
Tema 1 Introducción. Fundamentos de informática Departamento de Informática Universidad de Oviedo 1-1 1.1 Visión general de la informática 1.2 Estructura y funcionamiento de un ordenador 1.3 Representación
Más detallesEstructura de datos y de la información Boletín de problemas - Tema 10
Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico
Más detallesSistemas de Información II Tema 8. Estructuras de datos en memoria secundaria
Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª edición, 2002 (Capítulo 6). Garcia-Molina, Ullman
Más detallesParte de Algoritmos, de la asignatura de Programación Máster de Bioinformática Cadenas y expresiones regulares
Parte de Algoritmos, de la asignatura de Programación Máster de Bioinformática Departamento de Informática y Sistemas Universidad de Murcia http://dis.um.es/ domingo/algbio.html domingo@um.es Contenido
Más detallesESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:
Nombre y apellidos: Nota: NOTA FINAL: Nota Practica (1 punto) + Nota Examen (9 punto) Es indispensable aprobar el examen (4,5 puntos) para aprobar la asignatura (5 puntos) La práctica es opcional Duración:
Más detallesÍNDICE 1. Índice Listas ordenadas Operaciones permitidas Pilas Operaciones permitidas...
ÍNDICE 1 Índice Índice 1 1. Introducción 2 2. Estructuras de datos 3 2.1. Consideraciones generales a todas las estructuras de datos......... 3 2.2. Listas...................................... 3 2.2.1.
Más detallesANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS
ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS 2004-2005 PRACTICA 1: MEDICIÓN DEL TIEMPO. ALGORITMOS DE ORDENACIÓN Crear un conjunto de funciones que permitan la medición del tiempo de ejecución de los programas,
Más detallesANÁLISIS SEMÁNTICO LA TABLA DE SÍMBOLOS
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesGLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:
Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda
Más detallesAnálisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas
Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semático v1.2 c 2005 José Fortes Gálvez p.1 Análisis?... semántico? La semántica corresponde al significado asociado
Más detallesPráctica 5. Fecha límite de entrega: viernes, 14 de diciembre
Algoritmos http://www.lfcia.org/alg/ 2007-2008 Ingeniería Informática Ingeniería Técnica de Informática de Gestión Práctica 5 Fecha límite de entrega: viernes, 14 de diciembre Implementación de un Diccionario
Más detallesTRABAJO PRÁCTICO N 7 Mapeos, diccionarios, arboles binarios de búsqueda y tablas de dispersión
ESTRUCTURAS DE DATOS TRABAJO PRÁCTICO N 7 Mapeos, diccionarios, arboles binarios de búsqueda y tablas de dispersión Departamento de Ciencias e Ingeniería de la Computación - U.N.S. Segundo cuatrimestre
Más detallesProgramación de sistemas
Programación de sistemas Listas enlazadas Julio Villena Román MATERIALES BASADOS EN EL TRABAJO DE DIFERENTES AUTORES: Carlos Delgado Kloos, Jesús Arias Fisteus, Carlos Alario Hoyos
Más detallesINDICE. Prólogo de la Segunda Edición
INDICE Prólogo de la Segunda Edición XIII Capitulo 1. Algoritmos y Programas 1 1.1. Los sistemas de procesamiento de la información 2 1.2. Concepto de algoritmo 4 1.2.1. Características de los algoritmos
Más detallesProgramación TADs Colecciones Conjuntos, Diccionarios y Tablas
Programación 2 8 - TADs Colecciones Conjuntos, Diccionarios y Tablas 1 El TAD SET (Conjunto) En el diseño de algoritmos, la noción de conjunto es usada como base para la formulación de tipos de datos abstractos
Más detallesÁrboles n-arios de búsqueda. Lección 16
Árboles n-arios de búsqueda Lección 16 Definiciones Los árboles n-arios de búsqueda (árboles de búsqueda múltiples o multicamino) son árboles de grado n definidos de la forma: si el árbol A es vacío, entonces
Más detallesDiseño de Conjuntos y Diccionarios con Hashing
Diseño de Conjuntos y Diccionarios con Hashing Representación de Conjuntos y Diccionarios TAD Diccionario(clave, significado) Observadores básicos def?: dicc(clave, significado) bool obtener: clave c dicc(clave,
Más detallesÁrboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63
y B + 3.8 y B+! Problema de los ABB cuando se usa almacenamiento secundario:! la búsqueda de un elemento requeriría muchos accesos a disco (un acceso a disco es extremadamente lento si lo comparamos con
Más detallesIndexación y Asociación
Bases de Datos Indexación y Asociación Contenidos Conceptos básicos Indices Ordenados Árboles B+ ArbolesB Asociación estática Bases de Datos Indexación y Asociación 2 Conceptos básicos Los Indices se utilizan
Más detallesMétodos de Ordenamiento. Unidad VI: Estructura de datos
Métodos de Ordenamiento Unidad VI: Estructura de datos Concepto de ordenación La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden
Más detalles8. Vectores (arrays)
8. Vectores (arrays) Fundamentos de Informática Especialidad de Electrónica 2009-2010 Ismael Etxeberria Agiriano 16/12/2009 Índice 8. Vectores (arrays) 1. Números aleatorios 2. Serie ordenada 3. Números
Más detallesEXPOSICIÓN UNIDAD II
SIMULACIÓN EQUIPO: 4 2.1 MÉTODOS DE GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 2.2 PRUEBAS ESTADÍSTICAS DE ALEATORIEDAD CABRERA HERNÁNDEZ TERESA ELIZABETH 1 DE MARZO DEL 2011 2.1 GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS
Más detallesINDICE 1.1. Información y Significado 1.2. Arreglos en C 1.3. Estructura en C 1.4. Clases en C++ 2. La Pila 2.1. Definición y Ejemplos
INDICE Prefacio xiii 1. Introducción a las Estructuras de datos 1 1.1. Información y Significado 1 Enteros binarios y decimales 2 Números reales 4 Cadenas de caracteres 5 Hardware y software 6 Concepto
Más detallesBUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES
BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES BUSQUEDA Cuando se realizan operaciones de búsqueda es preciso
Más detallesTema 04: TAD Lista. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 04: TAD Lista M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido TAD Lista Descripción del TAD Lista
Más detallesFICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 2. Estructura de un Fichero. Operaciones. Básicas.
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 2. Estructura de un Fichero. Operaciones Básicas. 1.- Introducción. 2.- Organización: Campos y Registros. 3.- Acceso a la Información.
Más detallesWhite paper Hashing. Autor: Ramix (Ramiro A. Gómez) Sitio web: Fecha: 6 FEB Indice
White paper Hashing Autor: Ramix (Ramiro A. Gómez) Sitio web: www.peiper.com.ar Fecha: 6 FEB 2008 Indice Introducción... 1 Qué es el hashing?... 1 Funciones hash... 2 Colisiones... 3 Usos del hashing...
Más detallesTema 1. ORDENACIÓN, BÚSQUEDA E INTERCALACIÓN INTERNA (Algoritmos)
Tema 1. ORDENACIÓN, BÚSQUEDA E INTERCALACIÓN INTERNA (Algoritmos) 1. Declaraciones previas Para los algoritmos que aparecen a continuación se supone que se han realizado las siguientes declaraciones globales:
Más detallesANÁLISIS Y DISEÑO DE ALGORITMOS
ANÁLISIS Y DISEÑO DE ALGORITMOS CURSO 2005/2006 BOLETÍN DE PROBLEMAS: DIVIDE Y VENCERÁS Ejercicio 1 Dado un vector ordenado y rotado k veces: diseñar un algoritmo O(log n) que encuentre el elemento mayor
Más detallesPráctica 2: Estructuras/Uniones/Campos de bits
Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática Aplicada Práctica 2: Estructuras/Uniones/Campos de bits Contenido: Esta
Más detalles