ScalaのListからの構造共有に関する質問があります。私はいくつかのインターネットでこの文章を読んだところScalaの構造共有リスト
リストはテールリストの構造的共有を実装しています。これは、多くの演算がゼロメモリまたは定数メモリのいずれかのコストであることを意味します。
しかし、私は本当にどのようにリストの操作の時間とメモリコストが削減されるのか理解していません。我々は時間with4別のリストを作成したい場合など
val mainList = List(3, 2, 1)
val with4 = 4 :: mainList // O(1)
のためだけではなく、O(1)とメモリコストの一つであるが、リストの操作のためだろうか、それは違うだろうか?私は長さ()または逆()を意味する...それはまだO(n)のように普通でしょうか?誰も私を説明してくれるでしょうか、もしあなたが本当に助けになるだろうか?ありがとうございました!
すべてではなく、多くを言います。 –