私はC++でリンクリストを実装していますが、クラスのエンドノードを含めて(したがってサイズを大きくする)、それを含まない終わりなどに追加する時間も増えます)。リンクされたリストにエンドノードを含める
私の考えは、ノードオブジェクトは現在の日常的な標準的な4-8 GBのRAMに比べて比較的小さいので、時間を節約するには余分なスペースが必要です。
しかし、私が間違っているか、何らかの理由でどちらか一方を決める人がいるかどうかは誰にでも分かりますか?
私はC++でリンクリストを実装していますが、クラスのエンドノードを含めて(したがってサイズを大きくする)、それを含まない終わりなどに追加する時間も増えます)。リンクされたリストにエンドノードを含める
私の考えは、ノードオブジェクトは現在の日常的な標準的な4-8 GBのRAMに比べて比較的小さいので、時間を節約するには余分なスペースが必要です。
しかし、私が間違っているか、何らかの理由でどちらか一方を決める人がいるかどうかは誰にでも分かりますか?
どちらが良いかは、ユースケースによって異なります。 end
を含まず、片方向(それにはstd::forward_list
)の反復のみをサポートし、余分なメモリを取り、二重リンクリストを作成するためのユースケースがあります(これにはstd::list
があります)。
「良い」コンテナオプションはありません。これは、プログラムがより多くのことを行う必要のある操作に依存します。各容器には独自のニッチがあります。
std::vector
を除く。それはちょうど素晴らしいです。
それは私が誰もが言うだろうと思ったが、私は尋ねなければならなかった。ありがとう –
あなたに叫ぶ必要はありませんが、残念ながら、オフトピックです:主に意見ベース:多くの良い質問は、専門家の経験に基づいてある程度の意見を生成しますが、この質問に対する回答は、事実、参考文献、または特定の専門知識ではなく、意見である。 –
「何らかの理由でどちらか一方の人にあなたが決定した場合」もう一度来ますか? – Blorgbeard