Number Of races needed? 25 horses, 5 race tracks; we need to choose the top 3 horses. What is the minimum number of races you need?
I have thinking deeply and figure out this:
First race all 25 horses in groups of 5 to figure out the top 3 in each group (which will leave 15 horses). Call them:
A1 B1 C1 D1 E1
A2 B2 C2 D2 E2
A3 B3 C3 D3 E3
Here, A1 is faster than A2. A2 is faster than A3. The same applies for the rest of the groups.
Now race A1, B1 C1 D1 E1
Lets say the order of the horses according to ranking was A1, B1,C1,D1,E1
So A1 is No 1.
Now A1 is faster than B1 and B1 is faster than C1. So we can get rid of the entire D and E groups.
9 horse remain.
Also, A1 is faster than B1 and B1 is faster than C1. So we can get rid of C2 and C3. Now 7 horses remain.
A1 is faster than B1. B1 is faster than B2. Get rid of B3, and 6 horses remain.
Out of these, we know A1 is the fastest. So now race A2, A3, B1,B2,C1 to figure out No 2 and No 3 positions.
 A: Please see the given link.

Let's take an assumption, each horse runs at uniform speed every time. They all have different but fixed speed tag. 
Step 1) Divide the 25 horses into 5 groups. Each group will have 5 horses each. 
Step 2) Conduct 5 races for the 5 groups. 
Step 3) Conduct an another race with each group winners. (i.e. Fastest from Group 1, Fastest from Group 2, ... , and Fastest from Group 5) 
Step 4) Choose the winner from the Step 3. That will be fastest horse. (So, it needs only 6 races to find out the fastest horse of all the 25 horses) 
Additionally,
  Step 5) Name the horses as below: 
  {a1,a2,..., a5}--> For the group which has the fastest horse after Step 3 (6th Race) 
  {b1,b2,...,b5}---> For the group which has the 2nd fastest horse after Step 3 
  {c1,c2,...,c5}----> For the group which has the 3rd fastest horse after Step 3 
  {d1,d2,...,d5}---> For the group which has the 4th fastest horse after Step 3 
  {e1,e2,...,e5}---> For the group which has the 5th fastest horse after Step 3 
Where according to their speed, a1>a2>..>a5; b1>b2>..>b5; c1>c2>..>c5; d1>d2>..>d5 and e1>e2>..>e5, also, a1>b1>c1>d1>e1, but not necessarily, b1>a2, c1>b2 etc. [Clearly a1 is the fastest horse] 
Step 6) Conduct a race with a2, a3, b1, b2 and c1 to find out the 2nd fastest and 3rd fastest of all the 25 horses.
  So, we need to conduct only 7 races to find out the top 3 fastest horses!

