成a人片国产精品_色悠悠久久综合_国产精品美女久久久久久2018_日韩精品一区二区三区中文精品_欧美亚洲国产一区在线观看网站_中文字幕一区在线_粉嫩一区二区三区在线看_国产亚洲欧洲997久久综合_不卡一区在线观看_亚洲欧美在线aaa_久久99精品国产_欧美卡1卡2卡_国产精品你懂的_日韩精品91亚洲二区在线观看_国内一区二区视频_91丨国产丨九色丨pron

代做SEHH2239、Python程序語言代寫

時間:2024-04-04  來源:  作者: 我要糾錯



SEHH2239 Data Structures
SEHH2239 – Assignment 2 Page 1 of 7
Assignment 2 (Individual Assignment)
Due Date
19 April 2024 17:00 (Friday)
Late submission is liable to a penalty of 10% of the available marks for each day late; Saturdays, Sundays
and holidays are counted. Submission after 24 April 2024 17:00 will not be accepted.
Declaration of Original Work
Plagiarism is a serious misconduct. No part of students’ assignment should be taken from other people’s
work without giving them credit. All references must be clearly cited. Any plagiarism found in students’
completed assignments can lead to disciplinary actions such as mark deduction, disqualification or even
expulsion by the College.
In principle, CPCE considers GenAI tools as positive and creative forces in education and encourages their
use in learning, teaching, and assessment. However, extensive copy-pasting from AI-generated content
without citation is considered plagiarism.
By submitting this assignment to the subject lecturer through Blackboard, you hereby declare that the work
in this assignment is completely your own work. No part of this assignment is taken from other people’s
work without giving them credit. All references have been clearly cited.
You understand that an infringement of this declaration leaves you subject to disciplinary actions such as
mark deduction, disqualification or even expulsion by the College.
Plagiarism will be penalized severely. Marks will be deducted for assignments that are plagiarized in whole
or in part, regardless of the sources.
SEHH2239 Data Structures
SEHH2239 – Assignment 2 Page 2 of 7
Instruction
You are required to submit a Python Notebook using the template provided (Assign_2_Template.ipynb)
showing all the answers and programs. Rename the file as instructed below.
Your Python Notebook file should contain your name, your student ID no, and class (201/202/203/204).
All submitted assessments will be evaluated with Python version 3.10 or above (the current python version
used in Google Colab). Your submitted assessments must run without errors on Google Colab. Code that
cannot execute will result in zero or low marks for the respective questions. When you finish the
assignment, you are advised to use the “Restart session and run all” functionality of Colab to check
whether all code can execute successfully.
Unless otherwise instructed, you MUST NOT import any modules in your submitted assessments.
You MUST NOT change the procedure name (include cases) and parameters required.
Items to be Submitted
1. Python Notebook: Rename the notebook to the format <name>_<student ID>_<class>.ipynb, e.g.,
ChanTaiMan_22001234A_201.ipynb.
To download the Python Notebook (.ipynb)
In Google Colab, File → Download → Download .ipynb
To submit the Notebook via Blackboard
Upon uploading the notebook to the submission page in Blackboard, make sure that you click the “Submit”
button, not “Save and Close”.
To validate the submitted file
After you have submitted the notebook to Blackboard, download the submitted notebook from Blackboard
and upload it back onto Colab to check that your submitted file can still run in Colab. To do so, in
Blackboard, go to the assignment submission page, click on “View Submission”, download the ipynb file,
and upload it to Colab for checking. (Some students have done the assignment properly, but submitted some
junk code onto Blackboard, due to mistakes in downloading from Colab and uploading to Blackboard.)
Attention:
While submitting the softcopies via Blackboard, a timestamp will be placed on the softcopies of your
assignment. There will be a sharp cut-off time at Blackboard, so late assignments will be recorded at
Blackboard. Softcopies submitted via email or other means will NOT be accepted unless the Blackboard is
not available. As many students will submit their assignments to Blackboard at around the deadline time, it
normally takes longer for uploading your assignment, so it is strongly suggested that you start submitting
earlier, say at least 45 minutes before the deadline. Marks will be deducted for late submission.
SEHH2239 Data Structures
SEHH2239 – Assignment 2 Page 3 of 7
Question 1
A linear queue is a linear data structures having two ends i.e. the front end and the rear end. The
operations in a queue are carried out in First In, First Out (FIFO) order. This means, we can only
add items to the rear end of the queue and delete items from its front end. Implementing a linear
queue in array brings the drawback of memory wastage. When the rear pointer reaches the end of
a queue, there might be a possibility that after a certain number of dequeue() operations, it will
create an empty space at the start of a queue.
To overcome this limitation, experts introduced the concept of circular queue. A circular queue,
or a Ring Buffer, is an extended version of a linear queue as it follows the FIFO principle with the
exception that it connects the last node of a queue to its first by forming a circular link.
Array implementation of linear queue or circular queue has another limitation that the size of the
queue is bounded by the underlying array. When a queue is full, no additional element can be
added.
In question 1, you are going to implement a circular queue in Python list that will automatically
double its capacity when it is full.
(a) Complete the class AutoGrowthCircularQueue and implement the methods:
isEmpty(), getFrontElement(), getRearElement(), enqueue(), and
dequeue() according to the comment described in the Assignment Template.
(b) Run the testing code provided in the Assignment Template. It should produce the following
outputs (excluding the line numbers). Do not alter the testing code.
SEHH2239 Data Structures
SEHH2239 – Assignment 2 Page 4 of 7
1. Is Empty: True
2. Is Empty: False
3. Get: 2
4. Is Empty: True
5. Front element: 3
6. Rear element: 1
7. Queue size: 5/8
8. 3
9. String node 4
10. 1
11. 5
12. 6
Question 2
In Question 2, you will build a data structure for storing information of a student and learn how to
validate an input data against a predefined pattern.
(a) Write a class Student with the following specification:
1) The constructor takes two inputs: name (type str) and studentid (type str).
Validate their types. Raise an error and stop the program if the input type is invalid.
2) Validate the input studentid using the Boolean value “re.fullmatch('[0-
9]{8}A', studentid) is None” (a True value designates a mismatch). It
checks whether the input has 8 digits followed by the character 'A'. You need to import
the re library. Raise an error and stop the program if the input is invalid.
3) Initialize an instance attribute name to the input name.
4) Initialize an instance attribute studentid to the input studentid.
5) Overload the __str__() method to facilitate the printing with print(). See lines 2
& 3 of the outputs below for the required format.
6) Overload the __eq__() method to facilitate the comparison of Student objects.
Students with the same studentid attributes are deemed equal.
(b) Run the testing code provided in the Assignment Template. It should produce the following
outputs (excluding the line numbers). Do not alter the testing code.
1. Invalid student id 2224564
2. Name: Calvin Weign, ID: 22123456A
3. Name: Cola Coke, ID: 22003276A
4. False
5. True
6. Invalid data type!
SEHH2239 Data Structures
SEHH2239 – Assignment 2 Page 5 of 7
Question 3
In question 3, you will construct a Class Course to hold information about a course, registered
students, and students in waiting queue in case if the course was full. You will need to use the class
constructed in question 1 and 2.
(a) Complete the class constructor with the instructions below:
1) The constructor takes three inputs: code (type str), title (type str), and size
(type int). Validate their types. Raise an error and stop the program if the input type is
invalid.
2) Validate the input code using the Boolean value “re.fullmatch('[A-Z]{4}[0-
9]{4}', code) is None” (a True value designates a mismatch). The code should
starts with 4 upper case letters, then followed by 4 digits. Raise an error and stop the
program if the input type is invalid.
3) Initialize an instance attribute code to the input code.
4) Initialize an instance attribute title to the input title.
5) Initialize an instance attribute maxSize to the input size.
6) Initialize an instance attribute size to 0, i.e. the course contains no students at the
beginning.
7) Initialize an instance attribute BST to None. Binary search tree (BST) is used to stores
the registered students.
8) Initialize an instance attribute queue to an AutoGrowthCircularQueue. This
attribute is used to store students waiting for registration when course is full.
(b) Override __eq__() method to facilitate the comparison of Course objects. Courses with
the same code attributes are deemed equal.
(c) Write a method addStudent() with the specifications below:
1) Take one input student (type Student). Validate its type. Raise an error and stop
the program if the input type is invalid.
2) Print a message if the student was already registered, i.e. the student is in the BST
attribute and end the method. See line 11 below for the required format of the message.
3) If the course is not full, insert the student into the BST as the data field of a
BSTNode (the class BSTNode is provided in the Assignment Template; do not change
the code of the BSTNode class and do not use other implementations of BSTs). The key
field of the BSTNode is the studentid of the student. Increment the size attribute
and print a message for successful registration. See line 8 for the required format of the
message.
4) If the course is full, put the student into the queue attribute and print a message for
putting the student into waiting queue. See line 12 for the required format of the
message.
SEHH2239 Data Structures
SEHH2239 – Assignment 2 Page 6 of 7
(d) Write a method removeStudent() with the specifications below:
1) Take one input student (type Student). Validate its type. Raise an error and stop
the program if the input type is invalid.
2) Check if the student was registered or not. Print a message if the student was not
registered. See line 9 for the required format of the message.
3) If the student was registered, remove the student from the BST by calling
self.BST = self.BST.remove(self.BST, student.studentid).
Decrease the size attribute. Print a message according to line 13 for the required format.
4) If the course is not full and if there is other student waiting in the queue, remove a
student from the queue and add him to the course by calling the addStudent()
method.
(e) Run the testing code provided in the Assignment Template. It should produce the following
outputs (excluding the line numbers). Do not alter the testing code.
1. Invalid input type
2. Invalid course code abc1234
3. False
4. True
5.
6. Invalid input type
7. Invalid input type
8. Register Calvin Weign 22123456A successful.
9. Cola Coke 22003276A was not registered.
10. Register Cola Coke 22003276A successful.
11. Calvin Weign 22123456A has already registered.
12. Course full. Put Rain Man 22435638A in waiting queue.
13. Remove Calvin Weign 22123456A successful.
14. Register Rain Man 22435638A successful.
Question 4
In question 4, you will build a class CourseRegistry that store all the courses in a school. The
class will use hash table (backed by Python list) with separate chaining. Python built-in function
hash() is used to calculate hash code of a course using the course code as key. The calculated
hash code will then map to corresponding index position of the hash table using a modulo operator.
The constructor is provided in the Assignment Template.
(a) Method insert() is used to add a course into course registry. Complete the method with
the specifications below:
1) Take one input course (type Course). Validate its type. Raise an error and stop the
program if the input type is invalid.
2) Create a LLNode object with course.code as key and course as value (the class
LLNode is provided in the Assignment Template; do not change the code of the LLNode
class and do not use other implementations of linked lists).
SEHH2239 Data Structures
SEHH2239 – Assignment 2 Page 7 of 7
3) Determine the hash table index by calling hash(course.code) %
self.capacity and insert the LLNode object to the front of the linked list.
4) Increment the size attribute by 1.
(b) Method search() is used to find and return a course from the course registry. Complete the
method with the specifications below:
1) Take one input code (type str). Validate its type. Raise an error and stop the program
if the input type is invalid.
2) Determine the hash table index by calling hash(code) % self.capacity.
3) Search along the linked list to see if any matching LLNode with key equals to the
inputted code. If found, return the value attribute of the LLNode. Otherwise, return
None.
(c) Run the testing code provided in the Assignment Template. It should produce the following
outputs (excluding the line numbers). Do not alter the testing code.
1. None
2. Data Structures
3.
4. Register Chan TM 22061762A successful.
5. Register CHOW MP 22167034A successful.
6. Register LAM CS 22118617A successful.
7. Register LEUNG WA 22018089A successful.
8. Register LI CC 22134887A successful.
9. Course full. Put LIU MK 22052452A in waiting queue.
10. Course full. Put NG KY 22018110A in waiting queue.
11. Course full. Put SHEK CL 22161668A in waiting queue.
12. Course full. Put TSE David 22158990A in waiting queue.
13. Course full. Put WONG KM 22153656A in waiting queue.
14.
15. Remove CHOW MP 22167034A successful.
16. Register LIU MK 22052452A successful.
17.
18. Course code: SEHH2239
19. Course title: Data Structures
20. Course size: 5/5
21. Registered students:
22. 22018089A Name: LEUNG WA, ID: 22018089A
23. 22052452A Name: LIU MK, ID: 22052452A
24. 22061762A Name: Chan TM, ID: 22061762A
25. 22118617A Name: LAM CS, ID: 22118617A
26. 22134887A Name: LI CC, ID: 22134887A
27. Students in queue:
28. Queue size: 4/8
29. Name: NG KY, ID: 22018110A
30. Name: SHEK CL, ID: 22161668A
31. Name: TSE David, ID: 22158990A
32. Name: WONG KM, ID: 22153656A
- END of Assignment 2 -

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp
















 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:CS 211編程代做、代寫c/c++,Java程序
  • 下一篇:MANA 420代做、代寫Java/Python編程語言
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗證碼平臺 幣安官網下載 歐冠直播 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    成a人片国产精品_色悠悠久久综合_国产精品美女久久久久久2018_日韩精品一区二区三区中文精品_欧美亚洲国产一区在线观看网站_中文字幕一区在线_粉嫩一区二区三区在线看_国产亚洲欧洲997久久综合_不卡一区在线观看_亚洲欧美在线aaa_久久99精品国产_欧美卡1卡2卡_国产精品你懂的_日韩精品91亚洲二区在线观看_国内一区二区视频_91丨国产丨九色丨pron
    免费成人在线播放| 国产一区二区三区国产| 日本欧美肥老太交大片| 国产一区二区在线电影| 欧美三级中文字幕在线观看| 久久毛片高清国产| 亚洲va欧美va国产va天堂影院| 国产91色综合久久免费分享| 欧美日韩免费高清一区色橹橹 | 国产精品影音先锋| 欧美一区三区四区| 亚洲综合无码一区二区| 99久久免费国产| 国产婷婷色一区二区三区四区 | 福利视频网站一区二区三区| 精品国产乱码久久| 美女www一区二区| 7777精品伊人久久久大香线蕉| 亚洲最大的成人av| 色婷婷综合久久久中文一区二区| 国产精品私人自拍| 成人网在线播放| 久久精品视频一区| 国产精品一线二线三线| 精品国产91亚洲一区二区三区婷婷| 日日骚欧美日韩| 欧美日韩免费在线视频| 亚洲成人精品一区二区| 欧美三级在线看| 亚洲成a天堂v人片| 欧美三级视频在线观看| 亚洲成人自拍网| 777午夜精品免费视频| 亚洲18色成人| 欧美夫妻性生活| 日本不卡不码高清免费观看| 欧美二区乱c少妇| 日韩中文字幕区一区有砖一区| 精品视频在线看| 亚洲成va人在线观看| 欧美日韩高清影院| 丝袜美腿亚洲色图| 欧美一区二区三区白人| 美国毛片一区二区三区| 日韩美女一区二区三区四区| 久久国产成人午夜av影院| 欧美一区二区黄色| 久草精品在线观看| 久久久精品黄色| 国产成人精品免费在线| 日本一二三四高清不卡| 不卡一区中文字幕| 亚洲免费在线观看| 欧美在线观看视频在线| 亚洲大片精品永久免费| 91精品在线观看入口| 美女网站色91| 久久毛片高清国产| caoporm超碰国产精品| 亚洲手机成人高清视频| 欧美在线视频全部完| 亚洲mv在线观看| 日韩你懂的在线播放| 国产一区二区三区国产| 国产精品视频一二三| 色综合久久综合网| 日韩二区三区在线观看| 精品国产免费久久| 不卡一区在线观看| 亚洲无线码一区二区三区| 91精品国产色综合久久ai换脸| 国产女人水真多18毛片18精品视频| 成人免费高清在线| 亚洲自拍偷拍图区| 日韩亚洲欧美中文三级| 国产精品一区二区免费不卡 | 亚洲资源中文字幕| 国产高清不卡一区| 日韩理论片在线| 欧美色涩在线第一页| 久久国内精品自在自线400部| 久久九九影视网| 色老汉一区二区三区| 五月激情综合网| 精品国产成人系列| 色悠久久久久综合欧美99| 日韩成人免费在线| 欧美激情一区二区三区全黄| 在线中文字幕不卡| 狠狠色狠狠色综合日日91app| 国产精品国产三级国产aⅴ中文 | 久久精品视频免费| 色综合久久久久综合99| 日韩精品乱码免费| 国产亚洲成年网址在线观看| av亚洲精华国产精华| 亚洲777理论| 欧美国产激情一区二区三区蜜月| 色先锋资源久久综合| 捆绑调教美女网站视频一区| 亚洲欧洲99久久| 蜜臀91精品一区二区三区 | 51久久夜色精品国产麻豆| 国产在线视频不卡二| 亚洲欧美福利一区二区| 欧美一级国产精品| 国产.欧美.日韩| 亚洲v精品v日韩v欧美v专区 | 日韩成人一级大片| 中文字幕国产精品一区二区| 欧美日韩亚洲不卡| 成人一区二区三区| 久久久久久久久久久久久女国产乱| 在线一区二区三区做爰视频网站| 奇米精品一区二区三区在线观看| 国产精品国产三级国产aⅴ入口| 91精品午夜视频| 国产成人午夜精品5599| 日韩激情视频网站| 国产精品色眯眯| 欧美一区二区三区性视频| 丝袜诱惑亚洲看片| 国产精品初高中害羞小美女文| 欧美一区二区三区免费观看视频| 91小视频免费观看| 午夜av一区二区| 中文字幕在线观看一区| 日韩欧美资源站| 色婷婷香蕉在线一区二区| 精油按摩中文字幕久久| 午夜影院久久久| 亚洲三级久久久| 久久这里只有精品视频网| 欧美一区三区二区| 91久久精品日日躁夜夜躁欧美| 国产一区二区h| 在线成人小视频| 91在线一区二区| 岛国av在线一区| 久久99精品国产91久久来源| 亚洲五月六月丁香激情| 亚洲欧美影音先锋| 2021久久国产精品不只是精品| 欧美丝袜丝nylons| 99re这里只有精品首页| 国产激情一区二区三区四区| 久热成人在线视频| 日韩不卡一区二区| 午夜亚洲国产au精品一区二区| 综合久久久久久久| 国产精品久久久久久久久快鸭| 久久影院视频免费| 精品欧美久久久| 日韩精品一区二区三区四区| 在线不卡一区二区| 欧美日本不卡视频| 在线观看日韩国产| 在线观看av一区二区| 色呦呦一区二区三区| 一本大道综合伊人精品热热| 99久久久精品| 成人激情av网| 成人网在线免费视频| 成人涩涩免费视频| 岛国一区二区三区| 成人高清av在线| 97精品国产露脸对白| 一区二区三区91| 一区二区三区 在线观看视频| 一区二区三区精品视频在线| 成人免费一区二区三区视频| 日韩一区有码在线| 亚洲美女区一区| 亚洲资源中文字幕| 亚洲主播在线播放| 水蜜桃久久夜色精品一区的特点 | 乱中年女人伦av一区二区| 日韩欧美国产麻豆| 欧美一区二区三区男人的天堂| 日韩一区二区三区观看| 日韩三级电影网址| 欧美成人精品高清在线播放| 久久只精品国产| 国产精品国产三级国产普通话蜜臀 | 久久久美女艺术照精彩视频福利播放| 精品成人免费观看| 国产午夜精品久久久久久免费视| 欧美国产日韩在线观看| 中文字幕第一区第二区| 中文字幕在线不卡一区| 一区二区三区欧美日| 性久久久久久久| 中文字幕va一区二区三区| 中文字幕亚洲精品在线观看| 国产精品久久久久婷婷| 一区二区三区在线影院| 三级久久三级久久| 国产乱码精品一区二区三区五月婷| 成人激情小说网站| 欧美三级日韩在线|