![Page 1: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/1.jpg)
Summer FinalSolutions to last three problems
Bryce BoeCS24, Fall 2013
![Page 2: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/2.jpg)
Problem 11
Draw the contents of the array that represents the following max-heap after calling dequeue 3 times. The following are the initial contents of the array.
60 40 10 25 0 3 1 4
![Page 3: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/3.jpg)
Problem 11: Suggestions
• Convert the array into a tree representation– No required, but makes it more likely for you to
receive partial credit if you make a mistake• Show the resulting tree after each removal• Convert the final tree back into the array form
![Page 4: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/4.jpg)
Problem 11: Initial Heap
60
40
25
4
0
10
3 1
![Page 5: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/5.jpg)
Problem 11: First Dequeue
40
25
4 0
10
3 1
![Page 6: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/6.jpg)
Problem 11: Second Dequeue
25
4
1 0
10
3
![Page 7: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/7.jpg)
Problem 11: Third Dequeue
10
4
1 0
3
![Page 8: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/8.jpg)
Problem 11: Solution
10 4 3 1 0
![Page 9: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/9.jpg)
Problem 12
Draw the contents of a hash table of size 8 with a linear probing constant of 3 after inserting the following items. Hash function: h(x) = x % 8
7 2 15 5 12 4
![Page 10: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/10.jpg)
Problem 12: Suggestions
• Again it might be useful to show the complete contents after each insertion in the event you make a mistake.
![Page 11: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/11.jpg)
Problem 12: Insert 7
(0) __ (1) __ (2) __ (3) __ (4) __ (5) __ (6) __ (7) 7
![Page 12: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/12.jpg)
Problem 12: Insert 2
(0) __ (1) __ (2) 2 (3) __ (4) __ (5) __ (6) __ (7) 7
![Page 13: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/13.jpg)
Problem 12: Insert 15
(0) __ (1) __ (2) 2 (3) __ (4) __ (5) 15 (6) __ (7) 7
(1) Initial position occupied, try again
(2) Second position occupied, try again
![Page 14: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/14.jpg)
Problem 12: Insert 5
(0) 5 (1) __ (2) 2 (3) __ (4) __ (5) 15 (6) __ (7) 7
(1) Initial position occupied, try again
![Page 15: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/15.jpg)
Problem 12: Insert 12
(0) 5 (1) __ (2) 2 (3) __ (4) 12 (5) 15 (6) __ (7) 7
![Page 16: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/16.jpg)
Problem 12: Insert 4
(0) 5 (1) __ (2) 2 (3) 4 (4) 12 (5) 15 (6) __ (7) 7
(1) Initial position occupied, try again
(2) Second position occupied, try again
(3) Third position occupied, try again
(4) Fourth position occupied, try again
(5) Fifth position occupied, try again
![Page 17: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/17.jpg)
Problem 12: Solution
5 2 4 12 15 7
![Page 18: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/18.jpg)
Problem 13
Assume we have a poorly implemented hash table of size 8 with a linear probing constant of 1 that does not properly record deletions. Beginning with the following filled hash table, which elements (numbers) are no longer accessible after removing both 10 and 14? Hash function: h(x) = x % 8
8 7 10 1 12 2 14 6
![Page 19: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/19.jpg)
Problem 13: Suggestions
• Remove elements 10 and 14• For each element test if it’s reachable
![Page 20: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/20.jpg)
Problem 13: Remove elements
8 7 1 12 2 6
![Page 21: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/21.jpg)
Problem 13: contains(8)?
8 7 1 12 2 6
(1) 8 % 8 == 0PASS
![Page 22: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/22.jpg)
Problem 13: contains(7)?
8 7 1 12 2 6
(1) 7 % 8 == 7occupied -- next
(2) (7 + 1) % 8 == 0occupied -- next
(3) (0 + 1) % 8 == 1PASS
![Page 23: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/23.jpg)
Problem 13: contains(1)?
8 7 1 12 2 6
(1) 1 % 8 == 1occupied -- next
(2) (1 + 1) % 8 == 2unoccupied -- FAIL
![Page 24: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/24.jpg)
Problem 13: contains(12)?
8 7 1 12 2 6
(1) 12 % 8 == 4PASS
![Page 25: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/25.jpg)
Problem 13: contains(2)?
8 7 1 12 2 6
(1) 2 % 8 == 2unoccupied -- FAIL
![Page 26: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/26.jpg)
Problem 13: contains(6)?
8 7 1 12 2 6
(1) 6 % 8 == 6unoccupied -- FAIL
![Page 27: Summer Final Solutions to last three problems](https://reader035.vdocuments.net/reader035/viewer/2022062323/5681611c550346895dd074b3/html5/thumbnails/27.jpg)
Problem 13: Solution
• Items 1, 2, and 6 are no longer reachble