AVL trees Java applet

Cancelado Publicado Jun 4, 2005 Pagado a la entrega
Cancelado Pagado a la entrega

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

Ingeniería Java MySQL PHP Arquitectura de software Verificación de software

Nº del proyecto: #3751177

Sobre el proyecto

12 propuestas Proyecto remoto Activo Jun 8, 2005

12 freelancers están ofertando un promedio de $110 por este trabajo

ibapi

See private message.

$255 USD en 14 días
(104 comentarios)
6.5
eothman

See private message.

$85 USD en 14 días
(76 comentarios)
5.8
SvetoslavNedkov

See private message.

$85 USD en 14 días
(63 comentarios)
5.2
lvdt

See private message.

$29.75 USD en 14 días
(99 comentarios)
5.1
belingueres

See private message.

$255 USD en 14 días
(7 comentarios)
4.8
drup4lcom

See private message.

$59.5 USD en 14 días
(20 comentarios)
4.9
nutzabtu

See private message.

$170 USD en 14 días
(6 comentarios)
3.6
leyervw

See private message.

$34 USD en 14 días
(9 comentarios)
2.4
xelix

See private message.

$80 USD en 14 días
(3 comentarios)
0.8
vanyavw

See private message.

$85 USD en 14 días
(0 comentarios)
0.0
nothingtobetold

See private message.

$127.5 USD en 14 días
(1 comentario)
0.0
rajkovw

See private message.

$51 USD en 14 días
(0 comentarios)
0.0