適切な複雑さの比較を達成するために、この2つの関数に関連する複雑さをよく理解したいと思います。- = and ++ = Scala ArrayBufferの複雑さ
私の問題は、別のサイズのnから配列を作成したいということです。最初のものが空になるまで小さくなると、次のようにnサイズになるまでもう一方は大きくなります。
while(ArrayBuffer2.size != n) {
ArrayBufferX = ArrayBuffer1.filter(...)
ArrayBuffer1 --= ArrayBufferX
ArrayBuffer2 ++= ArrayBufferX
}
私は複雑さが反復回数に依存することを知っています。平均してk回の反復が必要です。
私の2番目の質問は、私が最初の配列をバケットにカットするときの複雑さです。
私たちは、サイズがnのArrayBufferを持っていて、2つのサイズのn/2でそれをカットしたとしましょう。上記の手順と同じステップを適用します。一般的に、リコートされた反復回数は、 1つの配列があります。
私は十分に明確であることを望みます。 ありがとうございます。
私はあなたがその説明から何をしようとしているのか理解できません。 –
私はそのコードの大きなO表記の複雑さを見積もりたいと思います。 – KyBe
'System.arraycopy'は' ++ = 'は' O(n) 'で、' - = 'の削除は' O(n) 'です。 –