2014-03-06 52 views

回答

3

将输入列表放入一个堆(又名优先队列)中,其中每个列表的优先级是其第一个元素。要获得输出列表的下一个元素,从堆上拉下顶部列表,将其第一个元素附加到输出列表中,从输入列表中移除该元素,并且(如果输入列表不是空的)将输入列表放回在堆中。重复,直到堆空。

有关更多详细信息,请参见this question and answer on Computer Science stackexchange

相关问题