MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  3. Collision Resolution Methods 3.1 Chaining

Download:
Download as a PDF | Download as a PS
by Cai Ziegler, Summer Semester, Coordination Prof, Dr. Alfons Kemper, Moderator Stefanie Scherzinger, The Hash Key, Pseudorandom Rehash, Quadratic Rehash
http://www.fmi.uni-passau.de/~ziegler/Proseminar/Proseminar.ps
Add To MetaCart

Abstract:

Before we start off with the actual theory and algorithms related with hashing, we will occupy ourselves with a brief introduction into hashing and its associated terminology. Hashing, also referenced to as scatter storage technique in related terms, is a technique applied principally in databases and systems software to access stored data merely by its unique keys. Its purpose is to minimize the number of data accesses as far as possible. The process of transforming a key k of a set of data into an actual address in memory (respectively called key-to-address transformation) is achieved by a function h (k), the hash function. 1.1 Linear Search Consider a table T that contains computer opcode mnemonics (mnemonics can be described as assembler instructions, such as "push", "movzx", "popfs " etc.) and their correlated values as used in an assembler. Using the opcode value as a key, this table could be used to determine the mnemonic associated with any particular value. Such a table is an integral part of any disassembler. Mnemonic Key push 66 mov 16 stosb 127 int 194 Since all our keys are unique, there's no problem to disassemble a short passage of binary machine code. We just have to go through the generated machine code, fetch the content of a memory cell (for instance bcell: = 127) and compare it to each of our keys until bcell and a key match. We then write the resulting mnemonic (in our case: stosb) to our standard output stream and proceed to the next byte.

Citations

No citations identified.