A Algorithm Using Priority Queue