영구 데이터 구조 는 변경할 수없는 데이터 구조입니다. 이들에 대한 작업은 데이터 구조의 새로운 "복사"를 반환하지만 작업에 의해 변경됩니다. 이전 데이터 구조는 변경되지 않습니다. 효율성은 일반적으로 일부 기본 데이터를 공유하고 데이터 구조의 전체 복사를 피함으로써 달성됩니다. 질문 : 동일하거나 매우 유사한 복잡성을 유지하면서 지속적으로 만들 수있는 데이터 구조 클래스에 대한 …
빠른 인덱싱, 추가, 프리 펜딩 및 반복 (좋은 지역성) 작업을 허용하는 배열과 유사하지만 불변 의 지속적인 데이터 구조를 찾고 있습니다. Clojure는 지속적인 Vector를 제공하지만 빠른 추가만을위한 것입니다. 스칼라의 Vector는 효과적으로 상수 시간 추가 및 접두어를 갖지만 Clojure 벡터와 동일한 데이터 구조 (비트 매핑 벡터 트리)를 기반으로하고 비트 매핑 벡터 트리를 …