データ構造では、単一リンクリスト内のノードがO(n)操作になる前に要素をプッシュするといいでしょう!後方ポインタがないので、新しい要素の前に追加しようとしているキーに到達するために、要素を一貫して歩かなければなりません。したがって、それは線形実行時間を有する。 次に、二重リンクリストを導入すると、問題が解決され、今度は両方向のポインタが一定の時間操作O(1)になる前にプッシュしていると言います。 私は論理を理解していますが、まだ何かが私に混乱しています!リストの要素に一定の時間アクセスを持たないので、前に追加したい要素を見つけるために、前の要素を歩かなければなりません!これは、二重リンクリストでadd-beforeコマンドを実装する方が速くなりましたが、依然として興味あるキーを見つける操作はO(n)です!なぜ、二重リンクリストを使ってaddの演算がO(1)になるのですか?なぜ二重リンクリストのアドオンの実行時間はO(1)ですか?
おかげで、C++で
前に追加する要素を見つける操作はO(N)ですが、リストに項目がある場合は、前に項目を追加するO(1)操作です – NathanOliver