The 25 horse race

Question: On a horse track with 5 lanes and 25 horses without having stopwatch you need to find the 3 faster horses assuming that each horse will run with the same performance each time it races.  What is the minimum number of races that need to take place.

Answer: The answer is 7
1)    Make 5 random groups (group A-E) of 5 horses and make them race.  (5 races so far).
•    Note down the positions of each of the horses
•    Horses finishing in positions 4-5 can no longer claim positions 1-3 so scrap them out

2)    Make a race of the fastest horse of each of the previous 5 races .(6 races so far)
•    Winner of this race is takes position 1st of all 25 horses
•    Horses finishing 4th-5th can no longer claim positions  2nd-3rd so scrap them out

3)    Now you need to find the positions 2nd-3rd.  5 horses will compete for the places 2nd-3rd .(6 races so far)
•    Horses that finished at positions 2nd-3rd at race 6 (B1-C1) can run to claim up to the position they finished at race 6.
•    Horses that raced initially against the horse that came 1st  in race 6(A1) can now race for positions 2-3. (So include A2,A3)
•    Horses that raced initially against the horse that came 2nd in race 6 (B1) can now race for position 3. (So include B2)