联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2024-09-22 09:51

Data Structures and Algorithms Trees

CRICOS Provide Code: 00301J Page 1 of 3

Note:

• DSATreeNode has already been written for you, but you’ll need to understand

and test it.

• The code for find() was already implemented for you - insert() and

delete() are very similar. The methods must all use the recursive approaches

and pseudocode from the lecture slides.

• You may want to leave delete() until you finish the rest of the practical

and then come back to it.

Trees

Updated: 20th July, 2023

Aims

• To implement a binary tree.

• To traverse a tree.

Before the Practical

• Read this practical sheet fully before starting.

• Ensure you have completed either Practical 3 or Practical 4.

Activities

1. Binary Search Tree Implementation

Following the lecture slides as a guide, implement a Binary Search Tree using a

DSATreeNode and DSABinarySearchTree class.

2. Implement Additional Methods

The lecture slides described the approach for doing min(), max() and height(). Implement

each of these operations in DSABinarySearchTree. Data Structures and Algorithms Trees

CRICOS Provide Code: 00301J Page 2 of 3

 

Note: Approaches can include comparing left and right heights or comparing

potential and actual leaf nodes.

Note: You may want to export the output of each traversal method as a queue

or linked list, which can then be iterated over to display the contents.

Now consider how you would give a percentage score for how balanced the tree is.

Implement this approach as a new method called balance().

3. Implement Traversal Methods

The lecture slides described the approach for doing inorder(), preorder() and postorder()

traversals of a tree. Add recursive implementations of these algorithms inside

DSABinarySearchTree to output the traversed tree.

4. Interactive Menu for DSABinarySearchTree

Setup an interactive menu system to explore building a binary tree from scratch.

Include at least the following options:

(a) Add node

(b) Delete node

(c) Display the tree - ask the user if they want inorder, preorder or postorder traversal


Submission Deliverable

• Your code are due 2 weeks from your current tutorial session.

– You will demonstrate your work to your tutors during that session

– If you have completed the practical earlier, you can demonstrate your work

during the next session

• You must submit your code and any test data that you have been using electronically

via Blackboard under the Assessments section before your demonstration.

– Java students, please do not submit the *.class files Data Structures and Algorithms Trees

CRICOS Provide Code: 00301J Page 3 of 3

Marking Guide

Your submission will be marked as follows:

• [6] Your DSABinarySearchTree and DSATreeNode are implemented correctly.

• [4] You have implemented and tested your methods for min(), max(), height()

and balance().

• [6] You have implemented and can demonstrate your methods for inorder(),

preorder() and postorder().

• [4] You have an interactive menu for the tree operations.


End of Worksheet


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp