Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

id ont know i am just writing this to fill up.id ont know i am just writing this to fill u, Lecture notes of Media Writing

id ont know i am just writing this to fill up.id ont know i am just writing this to fill up.id ont know i am just writing this to fill up.

Typology: Lecture notes

2023/2024

Uploaded on 11/08/2024

alexander-flores-43
alexander-flores-43 🇺🇸

1 document

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Taller 24/octubre/2024: Hashing
Fecha: 24 de octubre de 2024
Fecha Límite: 28 de octubre de 2024, 11:59 pm
Para cada implementación del hashing, tendran que hacer lo siguiente:
A) Total de elementos en la tabla (N), el tamaño de la tabla (T), el load factor ( =N/T), el númeroλ
total de collisions (C), y el promedio de collisions (C/N).
B) Van a verificar que cada palabra en otro archivo, query_words.txt, está en el hash table,
imprimir el output correspondiente dependiendo si la palabra fue encontrada o no fue encontrada
y cuántos probes se necesitaron para verificar si la palabra existia.
Para implementar lo descrito, van a escribir un programa llamado create_and_test_hash.cc.
YEl programa debe correr desde el terminal de la siguiente manera:
./create_and_test_hash <words file name> <query words file name> <flag>
<flag> debe ser quadratic para quadratic probing, linear para linear probing, y double para
double hashing.
Ejemplo de cómo se vería corriendo en el terminal:
./create_and_test_hash words.txt query_words.txt quadratic
Para double hashing, el formato sería el siguiente:
./create_and_test_hash words.txt query_words.txt double <R VALUE>
El valor R debe usarse en su implementación de doble hashing como se discutió en clase y se
describe en el libro de texto: hash2(x) = R (x mod R).
Modifique el código dado para linear y quadratic probing y pruebe create_and_test_hash. Tenga en
cuenta que el código dado es del libro de texto donde también se analiza con más detalle.
No escriba código en la función main()en create_and_test_hash.cc.Todo debe estar en
testWrapperFunction() en ese mismo file.
Debe imprimir las estadisticas de la parte A arriba, seguido por las palabras y si fueron encontradas y
cuántos probes se tomaron para determinarlo.
Implementen double_hashing.h, y test con create_and_test_hash. Esta será una
variación de quadratic probing. La diferencia está en la función FindPos(), que ahora debe dar probes
utilizando una estrategia diferente. Como segunda función hash, use la que se discutió en clase y que
se encuentra en el libro de texto hash2(x) = R (x mod R).
Debe imprimir el valor de R, y las estadisticas en la parte A arriba, seguido por las palabras y si
fueron encontradas y cuántos probes se tomaron para determinarlo.
pf2

Partial preview of the text

Download id ont know i am just writing this to fill up.id ont know i am just writing this to fill u and more Lecture notes Media Writing in PDF only on Docsity!

Taller 24/octubre/2024: Hashing

Fecha: 24 de octubre de 2024

Fecha Límite: 28 de octubre de 2024, 11:59 pm

Para cada implementación del hashing, tendran que hacer lo siguiente: A) Total de elementos en la tabla (N), el tamaño de la tabla (T), el load factor ( =N/T), el númeroλ total de collisions (C), y el promedio de collisions (C/N). B) Van a verificar que cada palabra en otro archivo, query_words.txt, está en el hash table, imprimir el output correspondiente dependiendo si la palabra fue encontrada o no fue encontrada y cuántos probes se necesitaron para verificar si la palabra existia. Para implementar lo descrito, van a escribir un programa llamado create_and_test_hash.cc. YEl programa debe correr desde el terminal de la siguiente manera: ./create_and_test_hash debe ser “ quadratic ” para quadratic probing, “ linear ” para linear probing, y double ” para double hashing. Ejemplo de cómo se vería corriendo en el terminal: ./create_and_test_hash words.txt query_words.txt quadratic Para double hashing, el formato sería el siguiente: ./create_and_test_hash words.txt query_words.txt double El valor R debe usarse en su implementación de doble hashing como se discutió en clase y se describe en el libro de texto: hash 2 (x) = R – (x mod R). Modifique el código dado para linear y quadratic probing y pruebe create_and_test_hash. Tenga en cuenta que el código dado es del libro de texto donde también se analiza con más detalle. No escriba código en la función main()en create_and_test_hash.cc. Todo debe estar en testWrapperFunction() en ese mismo file. Debe imprimir las estadisticas de la parte A arriba, seguido por las palabras y si fueron encontradas y cuántos probes se tomaron para determinarlo. Implementen double_hashing.h, y test con create_and_test_hash. Esta será una variación de quadratic probing. La diferencia está en la función FindPos(), que ahora debe dar probes utilizando una estrategia diferente. Como segunda función hash, use la que se discutió en clase y que se encuentra en el libro de texto hash 2 (x) = R – (x mod R). Debe imprimir el valor de R, y las estadisticas en la parte A arriba, seguido por las palabras y si fueron encontradas y cuántos probes se tomaron para determinarlo.

Format:

Para linear and quadratic probing flags, el formato debe ser así :

number_of_elements: size_of_table: load_factor: collisions: avg_collisions: Found Not_Found Found

Para double hashing, el formato debe ser así :

r_value: <SAME FORMAT AS LINEAR / QUADRATIC>