Computing intensive tasks could be offloaded from the mobile devices to the remote cloud servers in the Mobile Cloud Computing (MCC) environment. Computing offloading is a complicated problem due to considering the partitioning methods and the migration strategies to achieve the optimal solutions. In recent years, more research works have been done to optimise the problem of computing offloading. However, there are few works that comprehensively review computing offloading in the MCC environment in terms of its models, algorithms and so on. The purpose of this paper is to make a taxonomy for models and algorithms of the computation offloading in MCC environment. A survey is presented to make a classification from four different issues for computation offloading in MCC, and the different approaches taken to tackle these issues are also discussed in detail, further presenting several research challenges in this area.