首页 » 代码代写 » 代码代写|COMP3506/7505 Project Algorithms & Data Structures

代码代写|COMP3506/7505 Project Algorithms & Data Structures

这是一篇来自澳洲的关于算法和数据结构的代码代写

 

Task

This project will require you to implement algorithms efficiently in order to solve desired tasks. In particular, you will be required to:

  1. Complete programming tasks in reference to a given algorithm or desired efficiency.
  2. Write a report explaining the efficiency of your implementation.

The specific details required for each of these two points are outlined in the questions below.

Submission Details

All assignment related documents and files will be submitted via Gradescope. The programming sections of your assignment will be marked by auto-grading software while the report section of your assignment will be marked by a tutor. Therefore, you will need to submit to two separate Gradescope submission portals. The name of these submission portals and the documents required to submit to them are listed below.

  • Autograder: You must submit the programming part of your assignment to the autograder portal. You should only submit either the Java or Python code according to the language you have used. You must not submit your report PDF here. If you do so and fail to submit the project PDF to the Report Portal (see below), penalties will apply.

You should submit only the following files:

For Python: hospital 1.py, hospital 2.py, hospital 3.py, patient.py, login system.py

tree of symptoms.py, alert system.py1.

For Java: Hospital1.java, Hospital2.java, Hospital3.java, Patient.java, LoginSystem.java

TreeOfSymptoms.java, AlertSystem.java1.

Do NOT modify and do NOT submit the interface files (ending with *Base.java/ * base.py)

Your marks for this programming task will be calculated by running a series of tests against your solution using the Gradescope autograder. Each test will be assigned a certain number of marks according to the rigour of the test. The results of some tests will be available instantly after submission while others will be hidden until the assignment marks are released.

  • Report: You must submit a PDF export of your report to the report portal. You must use the template provided for your report. If you do not use the template or you modify the template in anyway, with the exemption of adding your answers in the box provided, you will incur a penalty.

Programming Details

Java Instructions

  • You must use Java version 11 or higher. Additional language features introduced after version 11 may not be supported. It is recommended you use OpenJDK, for example, AdoptOpenJDK 11.
  • Your solution will be automatically marked. No marks will be awarded for non-compiling submissions.
  • You should NOT use any classes from the Java Collections Framework (JCF) (e.g. ArrayList, LinkedList,HashMap, HashSet, Arrays), unless an individual question specifies that JCF classes are allowed. If you wish to utilise similar functionality, you should implement the needed algorithms or data structures yourself. You may use other classes from java.util outside of the JCF, such as Iterator, Stream, Random, Objects. If you are unsure about whether a certain class is allowed to be used, please contact teaching staff immediately.
  • You should NOT use any additional third-party libraries. No marks will be awarded to submissions which import non-supported libraries.
  • Remove the main() method and any System.out.print() calls before submitting to the autograder.

Python Instructions

  • You must use Python version 3.7 or higher.
  • Your solution will be automatically marked. No marks will be awarded for non-compiling submissions.
  • You should NOT use Python built-in sort methods, such as list.sort() or sorted(). You should NOT use Python built-in list methods, such as append, clear, count, copy, extend, index, insert, pop,remove, reverse, sort, or built-in methods min or max. If you wish to utilise similar functionality, you should implement the needed methods yourself.
  • You should NOT use dictionary dict nor {}.
  • The only permitted libraries you may use are math and random. You should NOT use any additional libraries,such as numpy, scipy, and collections. No marks will be awarded to submissions which import nonsupported libraries.
  • Remove main method and print functions before submitting to the autograder.

Late Submissions and Extensions

Please consult the courses ECP for the policies and procedures regarding late submission and extensions. Note that course staff cannot process requests for extension or otherwise. All such applications must be made through the school in accordance with ECP.

Academic Misconduct

This assignment is an individual assignment. Posting questions or copying answers from the internet is considered cheating, as is sharing your answers with classmates. All your work (including code) will be analysed by sophisticated plagiarism detection software.

Students are reminded of the University’s policy on student misconduct, including plagiarism. See the course profile and the School web page: https://itee.uq.edu.au/current-students/guidelines-and-policies-students/student-conduct?p=1#1.

1 Hospital Appointment System

In this question, you need to implement an appointment system for three different hospitals, that would allow patients to book appointments according to their desired time. In particular, you need to complete the following functionality:

  • iterator/ iter – iterates through the patients in the correct order according to their time
  • addPatient/add patient – adds a new patient to the system. Returns True if the patient is successfully added, returns False otherwise.

It is known that all three hospitals work from 08:00 to 18:00 with a lunch break from 12:00 to 13:00. Additionally,each hospital has different time complexity requirements for each function. Based on these requirements, you have to chose the best data structure to represent the appointment system, as well as the best algorithm to order the patients by their times. The requirements are the following:

  • Hospital 1: The timeslots are fixed. Each appointment lasts exactly 20 minutes. For example, a new patient may book an appointment for 08:00, 08:20, 08:40, etc.

Any other timeslots, e.g. 08:01, 08:22, 08:41 are considered incorrect and should result in a patient not being added to the system. Each timeslot may be occupied by at most one patient, i.e. two patients can not both be booked for the 08:40 appointment. The patient is not added to the system if they request a timeslot that is already occupied.

addPatient/add patient; iterator/ iter

– as quickly as possible.

  • Hospital 2: addPatient/add patient in O(n); iterator/ iter – as quickly as possible. If two patients requested the same time, give a priority to the patient that is already in the system.
  • Hospital 3: addPatient/add patient in O(1); iterator/ iter – as quickly as possible. If two patients requested the same time, give a priority to the patient that is already in the system.

1.1 Programming

In the files Hospital1.java/hospital 1.py, Hospital2.java/hospital 2,py and Hospital3.java/hospital 3.py,you should implement the methods in the interface HospitalBase.

1.2 Report

Using the Gradescope document template provided, you must complete a report which analyses your code and the algorithms you have implemented. In the report, for each of the three hospitals you should:

  1. State the data structure used to store patients and explain why this data structure is the best for the task in hand.
  1. Describe the algorithm used to order the patients. Briefly explain how it works, from where it is called (from iterator/ iter or from addPatient/add patient) and why it is the best algorithm in comparison with the other known algorithms.
  1. Assuming n to be the number of patients, state the best-case (Ω) and worst-case (O) time complexity of iterator/ iter and addPatient/add patient with respect to n.

程序辅导定制C/C++/JAVA/安卓/PYTHON/留学生/PHP/APP开发/MATLAB


本网站支持 Alipay WeChatPay PayPal等支付方式

E-mail: vipdue@outlook.com  微信号:vipnxx


如果您使用手机请先保存二维码,微信识别。如果用电脑,直接掏出手机果断扫描。