This was the most challenging section of the entire program. It took alot of thought to come up with the data structure to store the possibile moves, as well as how to map that into an array. I used an n-ary tree so that I could specify at runtime the number of buckets I wanted to use. In this way, I was able to use the same code for the first Binary Insertion section and this one.

As you can see, even though the packing factor increased by 5%, the Avg. Probes decreased by .06. So this goes to prove that adding bucketing to any of the collission resolution mechanisms will improve performance. The difference between this number and the number given in the book is for the most part due to the fact that the number I compared it against was for a single bucket and 90% packing factor.