展開と組み合わせたベクトルの Push_back() の時間計算量を考慮する

ベクトルが 2 の累乗に遭遇するたびに、ベクトルを拡張する必要があります。これには、古いデータのコピーの問題が伴います。では、push_back の平均複雑さはどれくらいでしょうか?

各挿入のコストは Ci です。i は i 番目の挿入です。拡張がどれほど大きくても、拡張の消費は考慮されませんが、

画像の説明を追加してください
完全な二分木を想像してください。最後の層のノードの数は実際には 2 です。logN は O(N) レベル (N 未満) で、前のすべてのノードの合計は ON レベルなので、後ろは 2N です。したがって、3N を N 個の挿入で割ると、実際には O(3n) であるとも理解できます。

おすすめ

転載: blog.csdn.net/myscratch/article/details/129383965