영속 자료 구조

영속 자료 구조(persistent data structure) 또는 영구 데이터 구조 또는 일시적이지 않은 자료 구조(not ephemeral data structure)는 컴퓨팅에서 수정 시 항상 이전 버전을 유지하는 자료 구조이다. 이러한 자료 구조는 해당 작업이 구조를 내부에서 (가시적으로) 업데이트하지 않고 대신 항상 새로 업데이트된 구조를 생성하므로 사실상 불변이다. 이 용어는 드리스콜, 사르나크, 슬레토르, 타잔의 1986년 기사에서 소개되었다.[1]

모든 버전에 액세스할 수 있지만 최신 버전만 수정할 수 있는 경우 자료 구조는 부분적으로 지속된다. 모든 버전에 액세스하고 수정할 수 있는 경우 자료 구조는 완전히 지속된다. 이전 두 버전에서 새 버전을 생성할 수 있는 병합 또는 병합 작업도 있는 경우 자료 구조를 합류적 지속성이라고 한다. 지속적이지 않은 구조를 "임시적" 구조라고 한다.[2]

이러한 유형의 자료 구조는 논리형 프로그래밍함수형 프로그래밍[2]에서 특히 일반적이다. 해당 패러다임의 언어는 변경 가능한 데이터의 사용을 방해(또는 완전히 금지)하기 때문이다.

같이 보기

[편집]

각주

[편집]
  1. Driscoll JR, Sarnak N, Sleator DD, Tarjan RE (1986). 〈Making data structures persistent〉. 《Proceedings of the eighteenth annual ACM symposium on Theory of computing - STOC '86》. 109–121쪽. CiteSeerX 10.1.1.133.4630. doi:10.1145/12130.12142. ISBN 978-0-89791-193-1. S2CID 364871. 
  2. Kaplan, Haim (2001). “Persistent data structures”. 《Handbook on Data Structures and Applications》. 

외부 링크

[편집]