Minimum comparisons to identify the heaviest weights. How many times I would have to make comparisons (between 2 weights) at minimum in order to identify the heaviest weight and also the second heaviest weight out of 128 weights?
I'm not sure how to do this.  I'm thinking that it's probably the same number of comparisons for identifying the heaviest?  I don't know how to identify the heaviest as well?  Is it just 128-1=127 since I'm just applying brute force the test if the next object is heavier than the previous one, if it is I'll make that one the heaviest and keep going and do testing, like a program.
Please help!
 A: You can make it like a classic elimination tournament.
In the first round, we put 128 weights into 64 pairs, and the 64 lighter weights in every pair is eliminated.  Then in the second round, we put 64 weights into 32 pairs, where the 32 lighter weights in every pair is eliminated again.  In the third round, 16 lighter weights are eliminated, and so on ...
So, the total comparisons for finding the heaviest weight $w_1$ would be
$$64+32+16+8+4+2+1=2^7-1=127 \text{ (literally using binary here...)}$$
Now for the second heaviest weight, you just have to test the last $7$ weights that lost to the heaviest weight since $7$ rounds are made in this "tournament".  
The weight that compete with the heaviest weight in the last round, let's call it $w_2$, is not guaranteed to be the second heaviest, since $w_1$ might have eliminated 
6 of those $w_n$ (in the earlier 6 rounds) that can potentially be heavier than $w_2$. Thus you don't know that for sure if $w_2$ is the second heaviest.  And therefore you will need to make these $6$ more comparisons in order to determine the second heaviest weight.
$\therefore$You need to make a minimum of $133$ comparisons. 
