算法可以直接用优先队列吗?还是要自己写最小堆