
Concept explainers
Maximum of list
Program plan:
- Import the package.
- Define the “Max()” function,
- Make simultaneous assignment to initialize the variables.
- Assign the values return from “len()”.
- Execute while loop when both “lst_1” and “lst_2” have more items,
- Check whether top of “lst_1” is larger,
- If it is “True”, copy that top value into current location in “lst_3”.
- Increment “s1” by “1”.
- Otherwise,
- Copy the top of “lst_2” into the current location in “lst_3”.
- Increment “s2” by “1”.
- Increment “s3” by “1” when element is added to “lst_3”.
- Check whether top of “lst_1” is larger,
- Execute the “while” loop to copy remaining elements from “lst_1”,
- Copy the element.
- Increment “s1” by “1”.
- Increment “s3” by “1”.
- Execute the "while" loop to copy remaining elements from “lst_2”,
- Copy the element.
- Increment “s2” by “1”.
- Increment “s3” by “1”.
- Define the function “merge_Sort()”,
- Assign the initial values for the variable.
- Check whether the number element is greater than 1,
- Split the list into two sub lists.
- Make simultaneous assignment to assign two sub lists using slicing.
- Make recursive calls to sort each sub list.
- Merge the sorted sub list into original list.
- Create empty list.
- Create for loop to iterate “100” times.
- Append the random value to the end of the list.
- Call the “merge_Sort()” function.
- Print the list.

This Python program is to demonstrate a recursive function “Max()” to find the largest number in a list where the largest number is the larger of the first item and the maximum of all the other items.
Explanation of Solution
Program:
File name: “conference.py”
#Import the package
from random import randrange
#Define the function
def Max(lst_1, lst_2, lst_3):
#Make simultaneous assignment
s1, s2, s3 = 0, 0 , 0
#Assign the values return from len()
n1, n2 = len(lst_1), len(lst_2)
'''Execute while loop when both lst_1 and lst_2 have more items'''
while s1 < n1 and s2 < n2:
#Check whether top of lst_1 is larger
if lst_1[s1] > lst_2[s2]:
'''Copy that top value into current location in lst_3'''
lst_3[s3] = lst_1[s1]
#Increment by "1"
s1 = s1 + 1
#Otherwise
else:
'''Copy the top of lst_2 into the current location in lst_3'''
lst_3[s3] = lst_2[s2]
#Increment by "1"
s2 = s2 + 1
#Increment by "1" when element added into lst_3
s3 = s3 + 1
'''Execute the "while" loop to copy remaining elements from lst_1'''
while s1 < n1:
#Copy the element
lst_3[s3] = lst_1[s1]
#Increment by "1"
s1 = s1 + 1
#Increment by "1"
s3 = s3 + 1
'''Execute the "while" loop to copy remaining elements from lst1_2'''
while s2 < n2:
#Copy the element
lst_3[s3] = lst_2[s2]
#Increment by "1"
s2 = s2 + 1
#Increment by "1"
s3 = s3 + 1
#Define the function
def merge_Sort(num):
#Assign the value
n = len(num)
'''Check whether the number element is greater than 1'''
if n > 1:
#Split the list into two sub lists
v = n // 2
'''Make simultaneous assignment to assign two sub lists using slicing'''
nums_1, nums_2 = num[:v], num[v:]
#Make recursive calls to sort each sub list
merge_Sort(nums_1)
merge_Sort(nums_2)
#Merge the sorted sub list into original list
Max(nums_1, nums_2, num)
#Create empty list
lst = []
#Create for loop
for n in range(100):
#Append the random value to the end of the list
lst.append(randrange(1, 1000))
#Call the function
merge_Sort(lst)
#Print the list
print(lst)
Output:
[996, 992, 975, 974, 956, 952, 947, 937, 921, 915, 902, 899, 891, 889, 886, 863, 863, 862, 856, 841, 837, 819, 808, 791, 760, 755, 754, 739, 736, 732, 685, 663, 638, 628, 623, 622, 612, 594, 569, 562, 552, 532, 531, 528, 527, 523, 492, 475, 468, 461, 452, 451, 444, 438, 431, 413, 405, 401, 375, 370, 358, 354, 350, 350, 347, 339, 325, 290, 286, 246, 227, 220, 215, 188, 185, 182, 168, 161, 149, 142, 141, 141, 139, 135, 115, 114, 112, 101, 96, 94, 94, 85, 84, 84, 80, 78, 70, 18, 13, 11]
>>>
Want to see more full solutions like this?
Chapter 13 Solutions
Python Programming: An Introduction to Computer Science, 3rd Ed.
- Please no AI! Or if you do use AI, Check the work please! Thank you!arrow_forward(Dynamic Programming.) Recall the problem presented in Assign- ment 3 where given a list L of n ordered integers you're tasked with removing m of them such that the distance between the closest two remaining integers is maxi- mized. See Assignment 1 for further clarification and examples. As it turns out there is no (known) greedy algorithm to solve this problem. However, there is a dynamic programming solution. Devise a dynamic programming solution which determines the maximum distance between the closest two points after removing m numbers. Note, it doesn't need to return the resulting list itself. Hint 1: Your sub-problems should be of the form S(i, j), where S(i, j) returns the maximum distance of the closest two numbers when only considering removing j of the first i numbers in L. As an example if L [3, 4, 6, 8, 9, 12, 13, 15], then S(4, 1) = 2, since the closest two values of L' = [3,4,6,8] are 6 and 8 after removing 4 (note, 8-6 = = 2). = Hint 2: For the sub-problem S(i, j),…arrow_forward
- (Greedy Algorithms) Describe an efficient algorithm that, given a set {x1, x2, . . ., xn} of points on the real line, determines the smallest set of unit-length closed intervals that contains all of the given points. Argue that your algorithm is correct.arrow_forwardWhat does the value of the top variable indicate in this ArrayStack implementation? What will happen if we call pop on this stack? What value will be returned, and what changes will occur in the array and the top variable? 3. If we push the value "echo" onto the stack, where will it be stored in the array, and what will be the new value of top? 4. Explain why index 0 contains the string "alpha" even though top is currently 3. 5. What would the state of the stack look like (values in the array and value of top) after two consecutive pop 0 operations?arrow_forwardPlease solve and show all work. Suppose there are four routers between a source and a destination hosts. Ignoring fragmentation, an IP datagram sent from source to destination will travel over how many interfaces? How many forwarding tables will be indexed to move the datagram from the source to the destination?arrow_forward
- Please solve and show all work. When a large datagram is fragmented into multiple smaller datagrams, where are these smaller datagrams reassembled into a single large datagram?arrow_forwardPlease solve and show all steps. True or false? Consider congestion control in TCP. When the timer expires at the sender, the value of ssthresh is set to one-half of the last congestion window.arrow_forwardPlease solve and show all work. What are the purposes of the SNMP GetRequest and SetRequest messages?arrow_forward
- Please solve and show all steps. Three types of switching fabrics are discussed in our course. List and briefly describe each type. Which, if any, can send multiple packets across the fabric in parallel?arrow_forwardPlease solve and show steps. List the four broad classes of services that a transport protocol can provide. For each of the service classes, indicate if either UDP or TCP (or both) provides such a service.arrow_forwardPlease solve and show all work. What is the advantage of web caches, and how does it work?arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningNew Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage LearningCOMPREHENSIVE MICROSOFT OFFICE 365 EXCEComputer ScienceISBN:9780357392676Author:FREUND, StevenPublisher:CENGAGE L



