algorithm实现