Question: codes: Naive: def input _ deadlines ( ) : deadlines = [ ] while True: user _ input = input ( Enter course name,

codes:
Naive:
def input_deadlines():
deadlines =[]
while True:
user_input = input("Enter course name, week of submission the project, and submission day (or 'exit' to stop): ").strip()
if user_input.lower()== "exit":
break
else:
course, week, day = user_input.split()
deadlines.append((course.capitalize(), int(week), day))
return deadlines
def arrange_deadlines_naive(deadlines):
return sorted(deadlines, key=lambda x: x[1:])
if __name__=="__main__":
deadlines = input_deadlines()
arranged_deadlines = arrange_deadlines_naive(deadlines)
print("Arranged Deadlines (Naive Approach):")
for deadline in arranged_deadlines:
print(deadline[0], deadline[1], deadline[2])
optmized:
from collections import defaultdict
def input_deadlines():
deadlines =[]
while True:
user_input = input("Enter course name, week of submission the project, and submission day (or 'exit' to stop): ").strip()
if user_input.lower()== "exit":
break
else:
course, week, day = user_input.split()
deadlines.append((course.capitalize(), int(week), day))
return deadlines
def arrange_deadlines_optimized(deadlines):
deadlines_dict = defaultdict(list)
for course, week, day in deadlines:
deadlines_dict[week].append((course, day))
arranged_deadlines =[]
for week in sorted(deadlines_dict.keys()):
for course, day in sorted(deadlines_dict[week], key=lambda x: x[1]):
arranged_deadlines.append((course, week, day))
return arranged_deadlines
if __name__=="__main__":
deadlines = input_deadlines()
arranged_deadlines = arrange_deadlines_optimized(deadlines)
print("Arranged Deadlines (Optimized Approach):")
for deadline in arranged_deadlines:
print(deadline[0].capitalize(), deadline[1], deadline[2])
question1:
A) Test both algorithms with various input sizes and document performance.
B) Compare theoretical and empirical results, and explain any discrepancies.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!