You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
불변성을 유지하기 위해 함수 컬렉션의 복사본을 만들어야 하는 경우가 있다. 예를 들어, 원소가 100,000개인 Vector가 있고 한 원소를 변경한 복사본을 만들어야 되는 경우를 생각해보자. 영속성을 위해, 값이 바뀌지 않은 99,999개의 원소를 복사한다면 이는 심각하게 비효율적일 것이다.
이러한 비효율을 방지하기 위해서, 구조공유(structure sharing)를 사용하여 변경되지 않은 Vector의 일부를 공유하고, 변경된 부분만 개별적인 자료구조를 이용하여 표현하도록 한다.
이러한 방법을 통하여, 효율성을 담보하면서 불변성을 유지할 수 있고, 또한 Vector의 값이 바뀐 역사를 보존할 수 있다. 따라서 이를 영속적인 데이터 구조(persistent data structure)라고 하기도 한다.