Protein-protein interactions (PPIs) play important roles in a variety of biological processes, and many PPIs have been regarded as biologically compelling targets for drug discovery. Extensive efforts have been made to develop feasible proteinprotein docking approaches to study PPIs in silico. Most of these approaches are composed of two stages: sampling and scoring. Sampling is used to generate a number of plausible protein-protein binding conformations and scoring can rank all those conformations. Due to large and flexible binding interface of PPI, determination of the near native structures is computationally expensive, and therefore computational efficiency is the most challenging issue in protein-protein docking. Here, we have reviewed the basic concepts and implementations of the sampling, scoring and acceleration algorithms in some established docking programs, and the limitations of these algorithms have been discussed. Then, some suggestions to the future directions for sampling, scoring and acceleration algorithms have been proposed. This review is expected to provide a better understanding of protein-protein docking and give some clues for the optimization and improvement of available approaches.