AVL trees Java applet

Cancelled Posted Jun 4, 2005 Paid on delivery
Cancelled Paid on delivery

The target of the assignment is to implement AVL Tree using a Java applet.

## Deliverables

The target of the assignment is to implement AVL Tree using a Java applet. The program should support the following functions: 1. Input: a. Manually: The user should be able to insert numbers manually (how many he chooses), with an option to indicate when he finishes (by choosing to construct the tree). b. From a file: The user should be able to specify a file name that contains numbers to be stored in the AVL tree. c. Randomly: The user can ask the application to randomly generate numbers, by choosing such option and specifying how many to create and range. The numbers are created with equal probability over the specified range. 2. Constructing the AVL trees: a. The user can select an option that construct the AVL tree, the construction can be either after supplying an input numbers (see item 1) or merging two trees (see item 3). b. When working in a manual mode (item 1.a) the construction of the tree can be done after each entered number or after insertion of a series of numbers. For item 1.b and 1.c the construction will be made after generation of the input. 3. Storage and loading: a. The user can choose to store the current tree in a file (which will use extension *.AVL) and can select to load a tree from a file (by showing him all the available *.AVL files and letting him to select the file to load). b. The user can choose to load two tree files (different or same one twice), in this case, the program will show both of the tress, and the only construction option will be to merge the trees into one tree. When a merged tree is constructions, the user can add nodes to it using any options specified in Item 1. 4. GUI: a. The program must be built as a Java applet with full graphical support. b. A special segment of the screen must show graphically the current tree having the root as top node. c. Each time the user choose to perform tree construction, the program will show each construction step using visual feedback: 1) A new inserted node will be seen with different color. 2) If algorithm must perform rotation, an arrow indicating the rotation direction will be shown prior the rotation and nodes that exchanged places will be colored with a different color after the rotation. 3) Before each new action, all previously colored nodes will be reset to a default color (black). 4) Each node will be drawn as a circle with its value inside. d. The user can choose to see action as a step-by-step process (e.g. the user must press on a button before the next step is done) or as continues process, where the user can specify the speed (in milliseconds) for each action. General guidelines: Make sure to build an appropriated data structures for representing an AVL tree and manipulate it. In addition, your AVL tree class should have an option of store/read to/from a file. Make sure that the algorithm is efficient, when coloring a nodes, only the specific nodes must be colored and not the entire tree (see item 4.c.3). You should prepare a readme file with general documentation regarding the structure of the program, used data structures, and how to operate the program. In addition, each class/function must be documented with indications about main functionality and input/output parameters.

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

Java

Engineering Java MySQL PHP Software Architecture Software Testing

Project ID: #3751177

About the project

12 proposals Remote project Active Jun 8, 2005

12 freelancers are bidding on average $110 for this job

ibapi

See private message.

$255 USD in 14 days
(104 Reviews)
6.5
eothman

See private message.

$85 USD in 14 days
(76 Reviews)
5.8
SvetoslavNedkov

See private message.

$85 USD in 14 days
(63 Reviews)
5.2
lvdt

See private message.

$29.75 USD in 14 days
(99 Reviews)
5.1
belingueres

See private message.

$255 USD in 14 days
(7 Reviews)
4.8
drup4lcom

See private message.

$59.5 USD in 14 days
(20 Reviews)
4.9
nutzabtu

See private message.

$170 USD in 14 days
(6 Reviews)
3.6
leyervw

See private message.

$34 USD in 14 days
(9 Reviews)
2.4
xelix

See private message.

$80 USD in 14 days
(3 Reviews)
0.8
vanyavw

See private message.

$85 USD in 14 days
(0 Reviews)
0.0
nothingtobetold

See private message.

$127.5 USD in 14 days
(1 Review)
0.0
rajkovw

See private message.

$51 USD in 14 days
(0 Reviews)
0.0