Top down approach doesn't visit all the possible states i.e it only visits the required states .

In bottom up since we are filling the table we have to visit all the states.

So technically top down is more efficient than bottom up but there are other factors like recursion overhead for top down method .

Also top down is easy to code compared to bottom up.

EDIT :

EXAMPLE

Consider the case for finding binomial coefficient using this formula

nCr = n-1Cr + n-1Cr-1

Now use TOP DOWN method for finding 4C3

4C3 = 3C3 + 3C2

3C2 = 2C2 + 2C1

We stop beacuse 3C3 ,2C2 ,2C1 are all trivial cases .

Now using BOTTOM UP method you would do something like

For I = 1 to I = 4

For j = 1 to j = I

//Use bottom up Using this table filling

Here you fill values like 3C1 ,4C1,4C2 .

Notice that this values won't be calculated in top down method specified above .

Hope it helps .