세트가 있습니다 집합의 요소 목록 . 각 요소 단일 목록에 나타납니다 . 다음 업데이트를 수행 할 수있는 데이터 구조를 찾고 있습니다.
: 포함하는 목록을 연결 를 포함하는 목록의 끝에
:를 포함하는 목록을 분할합니다 바로 후
또한 다음 쿼리를 수행해야합니다.
: 반환 만약 과 같은 목록에 있고 후에 온다 (그러나 반드시 )
:를 포함하는 목록의 첫 번째 요소를 반환합니다.
: 다음에 다음 요소를 반환 목록에
나는 이미 이러한 업데이트를 수행하는 데이터 구조를 생각해 냈습니다. 와 검색어 시각. 나는 이것을 할 수있는 데이터 구조가 이미 있는지 아닌지에 관심이있다.
동기 부여 : 루트 지정 포리스트는 이러한 목록 집합 중 두 가지로 표현 될 수 있으며 이러한 포리스트에서 도달 가능성을 빠르게 계산할 수 있습니다. 나는 그들이 무엇을 위해 사용할 수 있고이 모든 것이 이미 알려져 있는지 알고 싶습니다.