Find Jobs
Hire Freelancers

AVL trees Java applet

$30-5000 USD

Cancelado
Publicado hace casi 19 años

$30-5000 USD

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
ID del proyecto: 3751177

Información sobre el proyecto

11 propuestas
Proyecto remoto
Activo hace 19 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
11 freelancers están ofertando un promedio de $112 USD por este trabajo
Avatar del usuario
See private message.
$255 USD en 14 días
4,9 (162 comentarios)
7,3
7,3
Avatar del usuario
See private message.
$85 USD en 14 días
4,9 (76 comentarios)
5,8
5,8
Avatar del usuario
See private message.
$85 USD en 14 días
5,0 (64 comentarios)
5,2
5,2
Avatar del usuario
See private message.
$255 USD en 14 días
5,0 (7 comentarios)
4,8
4,8
Avatar del usuario
See private message.
$29,75 USD en 14 días
4,9 (101 comentarios)
5,1
5,1
Avatar del usuario
See private message.
$59,50 USD en 14 días
4,4 (20 comentarios)
4,9
4,9
Avatar del usuario
See private message.
$170 USD en 14 días
5,0 (6 comentarios)
3,6
3,6
Avatar del usuario
See private message.
$34 USD en 14 días
4,8 (10 comentarios)
2,4
2,4
Avatar del usuario
See private message.
$80 USD en 14 días
5,0 (3 comentarios)
0,8
0,8
Avatar del usuario
See private message.
$127,50 USD en 14 días
0,0 (1 comentario)
0,0
0,0
Avatar del usuario
See private message.
$51 USD en 14 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de ISRAEL
Israel
0,0
0
Miembro desde abr 7, 2005

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.