主要算法: