Number of comparisons in an insertion sort

  • Thread starter Thread starter nicnicman
  • Start date Start date
  • Tags Tags
    Sort
AI Thread Summary
Insertion sort requires a number of comparisons that can be calculated based on the initial order of the list. For a list sorted in descending order, such as n, n-1, ..., 2, 1, the algorithm will make n-1 comparisons to sort it into ascending order. Each element must be compared to all previous elements, resulting in a total of n-1 passes. The discussion clarifies that the ellipsis indicates a complete reverse order, leading to confusion about the sorting process. Ultimately, the conclusion is that insertion sort will indeed make n-1 comparisons for a list starting in descending order.
nicnicman
Messages
132
Reaction score
0

Homework Statement


How many comparisons does the insertion sort use to sort the list n, n-1, ...2, 1?


Homework Equations





The Attempt at a Solution


Insertion sort compares every element with every other element in the list, but I'm unsure what this question is asking. Why does it jump from n, n-1 to 2, 1?

Thanks for any suggestions.
 
Physics news on Phys.org
nicnicman said:

Homework Statement


How many comparisons does the insertion sort use to sort the list n, n-1, ...2, 1?


Homework Equations





The Attempt at a Solution


Insertion sort compares every element with every other element in the list, but I'm unsure what this question is asking. Why does it jump from n, n-1 to 2, 1?

Thanks for any suggestions.

What jump? Do you not understand what the ellipsis stands for ?
 
Yes, but usually there is an order like 1, 2, . . . , n. I guess I just don't see the order here.
 
SO you feel that 1, 2, ... n is ordered but the reverse is not?
 
n, n-1, ...2, 1 means the list in reversed order. After the sort routine is finished, the order will be 1, 2, 3, ..., n - 1, n
 
Oh, okay. I see now. Thanks.
 
So would the answer be n - 1?
 
Never mind it would be n - 1 passes, not comparisons.
 
Actually, after thinking about a bit more, wouldn't the insertion sort also make n - 1 comparisons since the list is already in descending order.

Sorry for all the posts.
 
  • #10
nicnicman said:
Actually, after thinking about a bit more, wouldn't the insertion sort also make n - 1 comparisons since the list is already in descending order.
But you want the list to be in ascending order, right?
 
  • #11
Right. So, if you had a list 3, 2, 1 the comparisons would go like this:

Comparison 1. compare 2 and 3, we have 2, 3, 1
Comparison 2. compare 1 and 2 , we have 1, 2, 3

Done, with 2 comparisons, or n - 1.

Please, correct me if I'm wrong.
 
Last edited:
  • #12
I'm still not entirely sure of my answer and I was hoping someone would offer some advice.

Thanks for any suggestions.
 
  • #13
nicnicman said:
Right. So, if you had a list 3, 2, 1 the comparisons would go like this:

Comparison 1. compare 2 and 3, we have 2, 3, 1
Comparison 2. compare 1 and 2 , we have 1, 2, 3

Done, with 2 comparisons, or n - 1.

Please, correct me if I'm wrong.

Your list is too short to really give you any insight. How about if the list is 5, 4, 3, 2, 1?
 
  • #14
That was the exact list I tried it with first. I only used a smaller list here for simplification. Anyway, with the longer list I got the same results: n-1.
 
Back
Top