The type of surface a basketball collides will have an effect on the height of the bounce.
When a basketball collides with a surface, some energy is absorbed by the surface. Hard surfaces like concrete, absorbs only a little energy, which gives the ball more energy to bounce. Soft surfaces, like a carpeted floor for instance, absorbs more energy and as a result, the ball does not bounce as high.
The more energy the surface can absorb, the less energy will be left in the ball, which decreases the height of its bounce.