In midsquare hashing, the key is squared and the address selected from the middle of the squared number. The most obvious limitation of this method is the size of the key. Given a key of 6 digits, the product will be 12 digits, which is beyond the maximum integer size of many computers. Because most personal computers can handle a 9-digits integer, let’s demonstrate the concept with keys of 4 digits. Given a key of 9452, the midsquare address calculation is shown below using a 4-digit address (0000 to 9999).
9452 * 9452 = 89340304 : address is 3403
As a variation on the midsquare method, we can select a portion of the key, such as the middle three digits, and then use them rather than the whole key. Doing so allows the method to be used when the key is too large to square. For example, for the keys in Figure 6, we can select the first three digits and then use the midsquare method as shown below. (We select the third, fourth, and fifth digits as the address.)
379452 : 379 * 379 = 143641 ë 364
121267 : 121 * 121 = 014641 ë 464
378845 : 378 * 378 = 142884 ë 288
160252 : 160 * 160 = 025600 ë 560
045128 : 045 * 045 = 002025 ë 202
No comments:
Post a Comment