Given two lists sorted in increasing order, create and return a merged list of all the elements in sorted order. You may modify the passed in lists. Ideally, the solution should work in "linear" time, making a single pass through each list.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Given two lists sorted in increasing order, create and return a merged list of all the elements in sorted order. You may modify the passed in lists. Ideally, the solution should work in "linear" time, making a single pass through each list. 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

Thank you for your reply. I think the autograder was grading differently for each type of lists. if len(list1) == len(list2), it wants the lists to be returned as merged without sorting. But if len(list1) > or < len(list2), then sort and return the sorted list. I have written the below, yet its not running right:

### START FUNCTION

def linear_merge(list1, list2):    
    # your code here
    x = list1 + list2
    if list1 == list2:
        x1 = list1.extend(list2)
        return x1
    else: 
        x.sort()
        return x

### END FUNCTION

Solution
Bartleby Expert
SEE SOLUTION
Follow-up Question

### START FUNCTION
def linear_merge(list1, list2):    
    # your code here
    x = list1 + list2
    x.sort()
    return x
### END FUNCTION

I have the solution above but which works but not in all cases. The autograder passed all others except this linear_merge([3, 2, 1], [5, 6, 1]). See the below:

FAILED     linear_merge_is_linear

           Inputs: [[3, 2, 1], [5, 6, 1]]

           assert [1, 1, 2, 3, 5, 6] == [3, 2, 1, 5, 6, 1]

           At index 0 diff: 1 != 3

           Full diff:

           expected output:  [3, 2, 1, 5, 6, 1]

           your output:      [1, 1, 2, 3, 5, 6]

KIndly see

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Mergesort
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education