以下を考慮してください(特定の言語ではありません):
for (i=0; i<list.length(); i++) { ... }
一部の人々は、次のように書き直すことを好みます。
int len = list.length()
for (i=0; i<len; i++) { ... }
これは、ビアの長さの取得list.length()
が O(1) 以外の場合に意味があります。しかし、これが事実である理由はわかりません。データ型に関係なく、長さフィールドをどこかに追加して、サイズが変更されるたびに更新するのは簡単です。
長さの取得または更新が O(1) ではない一般的なデータ型はありますか? それとも、誰かがそれをやりたいと思う別の理由がありますか?