Programmers learn & share
0 votes
60 views

Problem :

I have below doubts regarding sorting:

What is the smallest possible depth of a leaf in a decision tree for a comparison sort?           

Does it change depending on the algorithm?

Can anybody clear my doubts?

by (7.5k points)   | 60 views

2 Answers

0 votes

Solution :

The Best case happens when we just check the every element and see that the data is already sorted.

This results in n-1 comparisons and so the leaf will have a depth of n-1.

Practically speaking this happens for insertion sort.

Does it change depending on the algorithm?

It will change according to Algorithm. Here the best case of an algorithm is the good indicator - the shortest depth for one with O(n log n) the best case would be longer than the shortest depth for the one with O(n) best case.

To see this please consider the graph of n nodes, each node is representing A[i]. Draw the directed edge from i to j and if we compare A[i] with A[j] on the path from root to . Note that for k < n−1, this graph on {1, . . . , n} will not be connected. So we have two components C1 and C2 and so we know nothing about the relative order of the array elements indexed by the C1 against elements indexed by the C2. So there cannot be a single permutation π that sorts all the inputs passing these k tests - so π() is wrong for some arrays which lead to leaf

by (36.1k points)  
0 votes

The leaf of the decision tree always has depth n-1.

What is the smallest possible depth of a leaf in a decision tree for a sorting algorithm?

The shortest possible depth is n-1. To see this, observe that if we have a root leaf path with k comparisons, we cannot sure that the permutation at the leaf l is the correct one.

Proof:

To see this consider a graph of n nodes, each node representing A[i]. Draw an edge from I to j if we compare A[i] with A[j] on the path from the root to l.

Hence we have two components C1 and C2, and we know nothing about the relative order of array element indexed C1 and C2 against elements indexed by C2. Therefore there cannot be a single permutation that sorts all inputs passing these k tests.

Does it change depends on the algorithms?

It will change according to algorithms. Here is the best case of an algorithm and treated as a good indicator. The shortest depth for one with complexity O (n logn) with the best case would be larger than the shortest depth for the ones with the complexity O(n) of the best case.

Note:

The best case only happens when every element of the tree is already sorted.

by (2.8k points)  
2,227 questions
2,734 answers
59 comments
241 users