質問

優先キューが各操作に対して同じ複雑さを持つように、スタックを使用して優先キューを構築できます。 それはできますか?もしそうならどのように?そうでなければ、できる限り最高の解決策は何ですか?

配列を使用したスタックの各操作は $ o(1)$ ですが、優先順位のほとんどすべての操作はです。$ O(logn)$ 。 実装は、 $ 2D $ スタックを使用して実行できます。スタックの各要素は再びスタックです。 メインスタックの最初の要素が他のスタックの最初の要素である場合。 デキュー操作は、 $ o(n)$ がLIFOであり、優先順位キューはFIFOです。

役に立ちましたか?

解決

それについて考えてください。優先順位のキューにすべての項目を追加して、アレイを並べ替えることができます。

優先順位のキューを一定に実行できる場合は、線形時に分類できます。しかし、あなたはできません。

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top