Due: 10/11 Files should go in ~/HW/lab12/ For the programs, I'll give you correct working versions and a labcheck at some point, maybe. Note - try these problems out on small text files. A large text file you can try is /u1/junk/kinne/shakespeare_1000_lines.txt Once you have everything working you can try it on shakespeare.txt in that directory 2) simple_hash2.c - is the same as simple_hash.c but instead of printing all of the counts you instead print only the word with the highest count. In case of ties, output the one that you encounter first by scanning the hash table from index 0 and scanning each linked list from head to tail. 2 points. Hint: copy/paste print_hash into your simple_hash2.c, call it findLargest, and also use your findLargest from lab11 for linked lists. 3) simple_hash3.c - now the program asks for a word to lookup (printf/scanf) and prints out the count. Note - convert the word to lower case before doing the lookup. If the word is not found, print that it is not found. 2 points. Hint: call lookup_hash 4) simple_hash4.c - now the program prints out the total count for all words that started with each letter - so 26 counts are printed, (optional - and also the % of the total count for each first letter). 2 points. Hint: same as 2, it's a loop that goes through the table and also looks at ehac list in the table. int counts[26]; or int counts[256]; init to 0, call doCounts, then print. 5) simple_hash5.c - same as hash4, but now do the counts based off the second letter in each word (don't include 1 letter words in the counts). 2 points. Hint: very similar to 4, get that working first. 6) simple_hash6.c - print the full hash of counts from highest count to lowest. This problem is NOT graded or worth any points. There are many ways to do this. Note - this is slightly more involved than doing it with bst because hash tables are fundamentally unordered. Note - it would not be right to just use insertion sort or another slow sorting algorithm. Why? - because that would be a long running thing, which would ruin the fact that the hash table is pretty fast. Grading, I ran the following... cd HW/lab12 if [ ! -f Makefile.backup ]; then mv Makefile Makefile.backup; fi cp ~jkinne/courses/202/lab12/Makefile . rm -f simple_hash2 simple_hash3 simple_hash4 simple_hash5 make ./simple_hash2 /u1/junk/kinne/shakespeare_1000_lines_tail.txt ./simple_hash3 /u1/junk/kinne/shakespeare_1000_lines_tail.txt of ./simple_hash4 /u1/junk/kinne/shakespeare_1000_lines_tail.txt | grep "u:" ./simple_hash5 /u1/junk/kinne/shakespeare_1000_lines_tail.txt | grep "v:" jkinne@cs:~/courses/202/lab12$ Word with maximum count - the: 301 jkinne@cs:~/courses/202/lab12$ Word to look up: of: 218 jkinne@cs:~/courses/202/lab12$ u: 103 jkinne@cs:~/courses/202/lab12$ v: 21