Follow

C# List<T>.Clear メモ 

配列が保持している値が参照型、もしくは参照型のフィールドを保持している型の場合は O(N) だが、そうでない場合は O(1) となる。

API ドキュメントを見ると O(N) と書かれているが、コードを読んでみるとこれはワーストケースであるみたい。昔の実装は常に O(N) であったこともあるらしいので(stackoverflow.com/questions/12 )、もしかするとライブラリの実装によって変わるかもしれない。

ちなみに参照型で O(N) になる理由は、参照を持ち続けると GC による開放がされなくなるため、初期化が必要になるから。

· · Web · 0 · 0 · 1
Sign in to participate in the conversation
Nulltodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!