较为详细的算法