programming projects writing programs to solve the programming projects helps to solidify your understanding of the material and demonstrates how the concepts are applied (as noted in the introductionqualified instructors may obtain completed solutions to the programming projects on the publisher' web site modify the hash java program (listing to use quadratic probing implement linear probe hash table that stores strings you'll need hash function that converts string to an index numbersee the section "hashing stringsin this assume the strings will be lowercase wordsso characters will suffice write hash function to implement digit-folding approach in the hash function (as described in the "hash functionssection of this your program should work for any array size and any key length use linear probing accessing group of digits in number may be easier than you think does it matter if the array size is not multiple of write rehash(method for the hash java program it should be called by insert(to move the entire hash table to an array about twice as large whenever the load factor exceeds the new array size should be prime number refer to the section "expanding the arrayin this don' forget you'll need to handle items that have been "deleted,that iswritten over with - instead of using linked list to resolve collisionsas in separate chaininguse binary search tree that iscreate hash table that is an array of trees you can use the hashchain java program (listing as starting point and the tree class from the tree java program (listing in to display small tree-based hash tableyou could use an inorder traversal of each tree the advantage of tree over linked list is that it can be searched in (logninstead of (ntime this time savings can be significant advantage if very high load factors are encountered checking items takes maximum of comparisons in list but only in tree duplicates can present problems in both trees and hash tablesso add some code that prevents duplicate key from being inserted in the hash table (bewarethe find(method in tree assumes non-empty tree to shorten the listing for this programyou can forget about deletionwhich for trees requires lot of code