COIS 3020H: Data Structures and Algorithms II
代做c# | project | assignment作业 – 这个题目属于一个c#的代写任务, 包括了c#和数据结构等方面, 这个项目是assignment代写的代写题目
Department of Computer Science Trent University
COIS 3020H: Data Structures and Algorithms II
assignment 3 : On Point
Total grade: 60 Due date: Monday, April 10, 202 3 at 23:59 EST Late assignments will be deducted 10% per day up to five days (including weekends)
The point quadtree and the kd-tree are two data structures that generalize the binary search tree and are used to store multi-dimensional keys, such as points in k-dimensional space. Carefully read the link below and use its descriptions/code as a basis to:
- Complete the equivalent Point class in C#. [ 6 marks ]
- Fully implement additional c# classes for PointQuadtree and KDTree with methods*:
a. // Insert point p [ 6 marks each ]
// Assume that duplicate points are not inserted
// Returns true if successful; false otherwise
public bool Insert (Point p)
b. // Delete point p [ 9 marks each ]
// Returns true if successful; false otherwise
// public bool Delete (Point p)
c. // Returns true if point p is found; false otherwise [ 4 marks each ]
public bool Contains (Point p)
* Additional support methods such as FindMin for the KDTree may also be required.
- Test your program thoroughly for points in two dimensions only. Your code however should be general enough for points in any dimension. [ 12 marks ]
- In a separate document, comment on which implementation (point quadtree or kd-tree) would you choose to support the storage of multi-dimensional keys. [ 4 marks ]
Important Reference
https://www.cs.umd.edu/class/fall2019/cmsc420-0201/Lects/lect13-kd-dict.pdf
Submission
For this assignment, only submit your source code and testing. No project or executable files are required. Make sure to include the names of your team members and do not submit from multiple team members.