Exercise 4 (Sorting Methods) Trace the execution of the selection sort, insertion sort, and mergesort algorithms when executed on the following array of integers: {1, 29, 14, 15, 94} For selection and insertion sort, show how the array will look like after each iteration of the outer loop. For mergesort, show how elements will be split into smaller arrays and then merged into bigger, sorted arrays. Explanation of Sorting Sorting is the task of arranging a group of items into a defined order based on particular criteria. It is assumed, just like with Binary Search, that pairs of elements can be compared to find if one should precede another. This defines the order in which the sorting should be done. Sorting methods that only rely on this assumption are called comparison-based sorting methods. Among those, there are two main groups of sorting algorithms, and they differ by whether they sort by exchanging adjacent elements. If they do, they are called sequential sorting methods. Those algorithms have time complexity that is at least quadratic. These include selection sort and insertion sort. To sort faster, we must use a non-sequential sorting method. The best example is the mergesort algorithm, which has a time complexity of O(N log N). Selection Sort Pseudocode FOR i=0.. (next to last index): LET X = smallest element with index >= i SWAP X with element at index i Note: to find the "smallest element with index >=i", we must use another (inner) loop to iterate through all indexes from i to the last index. Insertion Sort Pseudocode FOR i=1..(last index): LET X = i'th element FOR j=i..0: IF j-1'th element > x: COPY j-1'th element value to j'th index ELSE: COPY x into j'th element BREAK from inner loop Mergesort Pseudocode IF array has only one element, RETURN array ELSE: MERGESORT left half MERGESORT right half MERGE both halves into one sorted array Note: you can do the merging by successively going through all array indexes for both arrays (left and right halves) and picking the smallest element from either array to be the next element in the merged array. Each time an element is picked, the current index from its array is incremented. This allows for completing the merging in linear time.
Exercise 4 (Sorting Methods) Trace the execution of the selection sort, insertion sort, and mergesort algorithms when executed on the following array of integers: {1, 29, 14, 15, 94} For selection and insertion sort, show how the array will look like after each iteration of the outer loop. For mergesort, show how elements will be split into smaller arrays and then merged into bigger, sorted arrays. Explanation of Sorting Sorting is the task of arranging a group of items into a defined order based on particular criteria. It is assumed, just like with Binary Search, that pairs of elements can be compared to find if one should precede another. This defines the order in which the sorting should be done. Sorting methods that only rely on this assumption are called comparison-based sorting methods. Among those, there are two main groups of sorting algorithms, and they differ by whether they sort by exchanging adjacent elements. If they do, they are called sequential sorting methods. Those algorithms have time complexity that is at least quadratic. These include selection sort and insertion sort. To sort faster, we must use a non-sequential sorting method. The best example is the mergesort algorithm, which has a time complexity of O(N log N). Selection Sort Pseudocode FOR i=0.. (next to last index): LET X = smallest element with index >= i SWAP X with element at index i Note: to find the "smallest element with index >=i", we must use another (inner) loop to iterate through all indexes from i to the last index. Insertion Sort Pseudocode FOR i=1..(last index): LET X = i'th element FOR j=i..0: IF j-1'th element > x: COPY j-1'th element value to j'th index ELSE: COPY x into j'th element BREAK from inner loop Mergesort Pseudocode IF array has only one element, RETURN array ELSE: MERGESORT left half MERGESORT right half MERGE both halves into one sorted array Note: you can do the merging by successively going through all array indexes for both arrays (left and right halves) and picking the smallest element from either array to be the next element in the merged array. Each time an element is picked, the current index from its array is incremented. This allows for completing the merging in linear time.
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
Related questions
Question
Use java and use proper code indentation.
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 4 steps
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY