Tree structure, Data Structure & Algorithms

We would like to implement a 2-4Tree containing distinct integer keys. This 2-4Tree is defined by the ArrayList Nodes of all the 2-4Nodes in the tree and the special 2-4Node Root which is the root of the tree. Each 2-4Node is defined by 2 ArrayLists Keys and Refs. Keys is an ArrayList of Integer objects representing the ordered integer keys stored in the node;

Refs is an ArrayList containing the references to the node's parent (NULL if the node is the root) and children (NULL if they are leaves). All these ArrayLists are implemented in java.util.ArrayList. Implement the following methods of the two classes 2-4Node and 2-4Tree using the methods of java.util.ArrayList as well as any other method you find necessary:

 2-4Node:

{ public int Type(): Returns the type of the node (2Node or 3Node etc.). { public void InsertinNode(int i): Inserts the integer i in the node at the right position. We consider that the children of the node are leaves. The Keys and Refs lists should be appended properly. Thus, you have to take into account the special case where the node contains no keys. No duplicate keys are allowed in the node so this method returns an error if you try to insert an existing key.

On the other hand an overow is not treated in this method.

2-4Tree:

{ public 2-4Node[] Search(int i,2-4Node N): This method searches recursively for the key i in the 2-4subtree of root N. It returns a reference to the node M containing i (NULL if i is not in the subtree) and another reference to the parent of this node M (if M is NULL its parent is the last searched 2-4node). Returns an error if N is NULL.

{ public void Insert(int i): Inserts the key i in the 2-4Tree at the right 2- 4Node and position. You have to take into account the special case where i is the first key to be inserted in the 2-4Tree. Returns an error if i is already in the 2-4Tree. In the case of an overow this overow should be treated!

{ public void split(2-4Node N): Splits the overowing 2-4Node N into two separate nodes and sends the 3rd key in N to its parent M. The lists Keys and Refs of M should be modified properly. The split is applied to the parent M if overowing etc. Pay attention to the special case where N is the root of the 2-4Tree.

Test :

Test your classes and methods by inserting the following sequence of integers (in the same order) into an initially empty 2-4Tree:f8,12,1,15,2,14,3,10,5,6,4,9,16,21,7,17g. Printout the keys in the 2-4 Node M containing 6, the keys in its parent and in the 2nd child of M.

Posted Date: 2/22/2013 1:51:15 AM | Location : United States







Related Discussions:- Tree structure, Assignment Help, Ask Question on Tree structure, Get Answer, Expert's Help, Tree structure Discussions

Write discussion on Tree structure
Your posts are moderated
Related Questions
Q1. Define the following terms: (i) Abstract data type. (ii) Column major ordering for arrays. (iii)  Row major ordering for arrays. Q2. Explain the following: (i) A

Explain the Interfaces in Ruby Recall that in object-oriented programming, an interface is a collection of abstract operations that cannot be instantiated. Even though Ruby i

One of the best known methods for external sorting on tapes is the polyphase sort. Principle: The basic strategy of this sort is to distribute ordered initial runs of predetermi

Program segment for the deletion of any element from the queue delmq(i)  /* Delete any element from queue i */ { int i,x; if ( front[i] == rear[i]) printf("Queue is

Write the algorithm for compound interest

SPARSE MATRICES Matrices along with good number of zero entries are called sparse matrices. Refer the following matrices of Figure (a)

Program Insertion of a node into any Circular Linked List Figure depicts a Circular linked list from which an element was deleted. ALGORITHM (Deletion of an element from a

Illustrate Trivariate Colour Models Conventional colour models based on the tristimulus theory all contain three variables and so are called trivariate models. Let us now consi

1. Show the effect of each of the following operations on queue q. Assume that y (type Character) contains the character ‘&’. What are the final values of x and success (type boole

Algorithm for insertion of any element into the circular queue: Step-1: If "rear" of the queue is pointing at the last position then go to step-2 or else Step-3 Step-2: make