Tags:
tag this topic
create new tag
view all tags
---+ Hash lab ---++ Learning Objective(s) 1 Expand knowledge about organizing and searching data to hashing 1 See the implications of Big O on real data, esp. on large amounts of data 1 Learn to write a quality report analyzing amount of work. ---++ Overview of the problem You are to expand the previous lab to also study hash tables. ---++ Specifics * Implement a hash table (including add and find methods). * Compares are the number of times an element in the hash table is accessed. * The hash function should be more complex than just mod'ing by table size * The data is in similar format to previous lab. Use first file to build the hash table. Use the second file to look for numbers in the hash table. * The integer is the key. * You may pick any collision handling method you wish. * Run the tasks on a decent number of cases including: * data that is almost in order * data that is almost in reverse order * data that is in random order * tiny amount of data in the first file (< 100) * small amount of data in the first file * medium amount of data in the first file * large amount of data in the first file * a few numbers in the second file * a medium number of numbers in the second file * a large number of numbers in the second file * Number of classes ---++ Report * Run enough examples of each type to get a good set of data points. (3 or 4 data points per type is not enough!) * Plot them on a graph (with the horizontal axis being the size of the data and the vertical being the number of comparisons and/or swaps) * Compare the generated results to the expected Big O results * Discuss the following: * How each algorithm compared to its Big O * When sorting first then searching is better than just searching * A comparisons of the sorts with each other * It is recommended that you use graphs in a spreadsheet to visualize the data ---++ Optional improvements * Compare results with different sizes of the table (related to the size of the input) * Compare different hashing routines * Compare different collision handling routines
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r1 - 2021-11-10
-
cathybareiss
Home
Site map
Assessment web
BethelAIResources2026 web
CenterForComputing web
ChatGPT web
Intro2AIatBethel web
Main web
Sandbox web
TWiki web
CenterForComputing Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
E
dit
A
ttach
Copyright © 2008-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback