Referring to the data structure depicted in Figure 2.8, what memory location wou
ID: 668834 • Letter: R
Question
Referring to the data structure depicted in Figure 2.8, what memory location would be returned by the Fetch algorithm if Mike's node was requested and the structure was not encapsulated?
Here is Figure 2.8
Figure 2.8 Fetching a Deep Copy of Mike's Node from the Unsorted Array Structure
Figure 2.8 illustrates the deep copy operation that takes place after a requested node (in this case Mike's node) has been located using the sequential search coded as the while loop in the fetch algorithm.
For the purposes of brevity, we will assume that the algorithm to update the node with the key field targetKey to the contents of the node newNode uses the Delete and Insert algorithms, previously discussed. Under this assumption, the Update algorithm becomes:
Unsorted Array Update Algorithm
_________________________________________________________________________________________
1. Invoke the Delete operation to delete the node with the key field targetKey.
2. Invoke the Insert operation to insert the node newNode.
_________________________________________________________________________________________
A more efficient implementation of the Update algorithm would be one in which the actual code to access the node and change its fields would be included in the update method because this approach saves the time required to invoke the delete and insert methods. This implementation is left as an exercise for the student.
Explanation / Answer
public class UOA { private int next; private int size; private T[] data; public UOA(){ next = 0; size = 100; data = (T[]) new Object[100]; } public UOA (int s){ next = 0; size = s; data = (T[]) new Object[s]; } public boolean insert(T newNode){ KeyMode node = (KeyMode)newNode; if(next >= size) return false; data[next] = (T)node.deepCopy(); if(data[next] == null) return false; next++; return true; } public KeyMode fetch(Object targetKey){ KeyMode node = (KeyMode) data[0]; T temp; int i = 0; while (iRelated Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.