Complete the class implementations that the tests expect

Assignment Help Data Structure & Algorithms
Reference no: EM132319261

Data Structures Assignment - My PlayStation Friends

Introduction - Needing a way to manage all your PlayStation friends, you decide to build a back-end system for adding, removing and maintaining them. The idea is to organise your friends so you can search for individuals, search for players who have the same games as you, determine rankings, and view player information and trophies. At the same time, you'd like your search queries to be fast, ruling out basic structures like arrays and linked lists. Deciding that the most important factor for ordering your friends is level, you build a binary search tree (BST) structure, using the level (actually a function on level, see section 4) as the key.

In this assignment we will build a BST structure, with each node representing a PlayStation friend. Each friend node contains information about that player, including their username, level and date of birth, along with attached data structures for their games (single linked-list) and trophies (ArrayList). In accordance with the rules of BSTs, each friend has a parent node and two child nodes, left and right. From any one node, all nodes to the left are less (lower level) and all nodes to the right are greater (higher level). Due to this, searching for higher or lower-levelled players is, on average, a O(logn) process.

This assignment consists of a number of parts. In part A you will setup the basic class structure, ensuring that the test suite is able to run without error. In part B you will implement the basic structures needed by User to hold multiple Trophy and Game objects. In part C you will create your BST-based friend database. Finally, in part D you will improve the efficiency of your tree by implementing AVL balancing. You are free to add your own methods and fields to any of the classes in the Database package, but do not change any existing method prototypes or field definitions. A testing suite has been provided for you to test the functionality of your classes. These tests will be used to mark your assignment, but with altered values. This means that you cannot hard-code answers to pass the tests. It is suggested that you complete the assignment in the order outlined in the following sections. Many of the later-stage classes rely on the correct implementation of their dependencies.

Part A - If you run the testing suite, you will be lovingly presented with many errors. Your first task is to complete the class implementations that the tests expect (including instance variables and basic methods) to remove all errors from the testing classes.

Part B - In this section you will complete the GameList single linked-list for storing Game objects.

Part C - In this section you will complete your binary search tree data structure for storing all your friends' information.

Part D - In this final section you will implement the AVL tree balancing algorithm. This will give your tree more efficiency as it will maintain a perfect balance as different values are added.

Attachment:- Assignment File.rar

Reference no: EM132319261

Questions Cloud

Lean operating systems : Compare and contrast the lean service system found within Southwest Airlines to a full-service airline such as United Airlines, British Airways,
Scheduling tool that breaks down large projects : Which of the following is a scheduling tool that breaks down large projects into steps to be performed and specifies the time required to perform each step?
Who has control over review and approval process for change : Identify who has control over the review and approval process for the change. Discuss the process if the work is rejected due to noncompliance with requirements
Make a poor data warehouse look good : Is it possible for talented people to make a poor data warehouse look good?
Complete the class implementations that the tests expect : Data Structures Assignment - Your first task is to complete the class implementations that the tests expect to remove all errors from the testing classes
Define what you think motivation is : Define what you think motivation is. Compare and contrast intrinsic and extrinsic motivation. Explain how motivation effects overall job satisfaction.
Atom for large projects : Debate whether the cost of utilizing ATOM for large projects is justified when an organization has limited resources to dedicate to risk management efforts
Rigid definitions of hierarchical levels : That structures of organizations today are truly no longer viewed as rigid definitions of hierarchical levels and interrelationships among different groups.
Compare theories of change management : HRM560-Compare theories of change management and select an appropriate theory for an organization change. Identify organizational changes that link to vision.

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Question about indexed strategy

Think about a file system on a disk that has both logical and physical block sizes of 512 bytes. Suppose that the data about each file is already in memory.

  The development of complex algorithms that can mine mounds

the development of complex algorithms that can mine mounds of data that have been collected from people and digital

  Transmitting image using raster scan order

If we were to transmit this image using raster scan order, after 15 seconds how many rows of the image will the user have received?

  Compute the earliest starting and finishing times

For the project network pictured in Figure, List the immediate predecessors of each activity. Try to determine the critical path by enumerating all paths.

  Program for stack by using dynamically allocated array

Write a C++ class which implements stack by using a dynamically allocated array. Initial size of particular stack must be determined when it is created.

  Question about isdn

Today ISDN cost $40 every month for BRI service which includes 1 D Channel and 2 B Channels. Every channel is capable of transmitting 64kbps of voice, data, video or fax for a total of 128 kbps.

  Sketch dynamic programming tables for knapsack problem

Sketch Dynamic Programming Tables (one for calculating optimal value and one for keeping track of items used in getting optimal value) for 0/1 Knapsack Problem given below and illustrate your final result.

  Run the program with various values for the tables capacity

Write a program that generates random integers in this range and inserts them into the hash table until a collision occurs.

  Draw flowchart to print average for each student

Draw a flowchart to print the average for each student in a class. Input. Input consists of student records each containing a student's name(STUDENT-NAME), score for first test(TEST), score for second test(TEST2), and score for third test(TEST3)..

  Analyze the time-space complexity of algorithms

How a vEB tree can be used to support these three operations and analyze the time/space complexity of your algorithms.

  Explain why the case where node r has a right child

Explain why the case where node r has a right child but not a left child was not considered in the description of down-heap bubbling.

  Construct the minimal spanning tree using kruskal algorithm

Construct the minimal spanning tree using Kruskal's Algorithm. Construct the minimal spanning tree using Prim's Algorithm, using A as the root

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd