부분적으로 정렬 된 요소 집합에 대한 영구 데이터 구조는 무엇입니까?


15

유형 a의 요소 세트를 저장해야합니다. 그래서 비교하는 부분적으로 정렬되어 입력 12 작은 반환 할 큰은 같거나 비교할.a1a2

해시 테이블의 한 가지 문제는 두 개의 동일한 요소가 다르게 표현 될 수 있으며, 동등성과 일치하는 해싱 함수에 액세스 할 수 없다는 것입니다.

두 요소를 비교하는 것은 시간이 오래 걸리므로 비교를 최소화하는 것이 흥미로울 것입니다. 필요한 경우 비교 연산자에 대한 호출을 메모 할 수 있습니다. 나는 이제 안티 체인 만 저장하면된다는 것을 깨달았다 (또는 그렇게 가정하자). 보다 정확하게 수행해야 할 작업은 다음과 같습니다.

  • 안티 체인에서 요소를 제거하십시오.
  • 요소를 추가하십시오. 요소가 멤버보다 작은 경우에는 추가하지 말고 추가하지 않으면 그보다 작은 모든 요소를 ​​제거하십시오.

i1<a<i2i3<b<i4i2<i3a<bi2i3a


1
귀하의 질문에 무의식적으로 답변하기 위해서는 더 많은 정보가 필요하다고 생각합니다. 요소를 저장하고 있으며 부분 순서가 쉽게 계산됩니까? 아니면 일종의 룩업 테이블에 부분 순서를 저장하고 있습니까? 부분 순서를 어떻게 사용 하시겠습니까? 선형 순서를 사용하여 세트를 저장하는 것과 같은 방식으로 사용하려고합니까 (예 : 검색 트리)?
Andrej Bauer

나는 안티 체인 만 가지고 있다는 것을 깨달았으므로 결과를 목록에 저장하는 순진한 솔루션보다 나은 것이 있는지 확실하지 않습니다. 그렇다면 문제가 발생하여 죄송합니다.
Abdallah

귀하의 질문이 이제 무질서하다고 생각되면 삭제 / 폐쇄를 위해 플래그를 지정해야합니까?
Suresh Venkat

1
세트의 두 요소가 비교할 수 없지만 이것이 순진한 표현이 최선이라는 것을 의미하지는 않습니다. 예를 들어, 포함 순서대로 유한 멀티 세트 (= 분할 순서로 정렬 된 정수)를 고려하십시오. 데이터 표현 (카디널리티 사용, 지원 세트 사용 등)에 따라 최적화 할 가능성이 많습니다. 이러한 최적화는 주문 관계의 특성에 크게 좌우됩니다. 그런 다음 삭제 된 요소에 대한 정보를 유지할 가치가 있는지 여부를 결정하는 별도의 문제가 있습니다. 새로운 요소와 자주 비교 하는가?
Gilles 'SO- 악마 그만해'10

알았어 고마워 그래서 최적화로 이어질 수있는 정보 (정수 경계 가능성)를 추가했습니다.
Abdallah

답변:


8

2008 년 Daskalakis, Karp, Mossel, Risensefield, Verbin의 "PoSet 정렬 및 선택" 논문 은 안티 체인 기반 PoSet의 동적 표현을 설명합니다.

2012 년에 최근에 Arxiv에 발표 된 Munro, Nicholson 의 논문 "Succinct Posets"에 관한 논문과 참고 문헌에 관심이있을 것입니다. 그들의 데이터 구조는 정적이지만 다음 단계는 동적 데이터 구조를 갖는 것이라고 가정합니다.


Posets의 정렬 및 선택은 데이터 구조에 필요한 것이 무엇인지 이해하는 데 유용하지만 알고리즘은 poset의 요소에 태그 지정을 가정 합니다 (예 : 처음에 해결하려는 정확한 문제!) O ( q n ) 쿼리 에서 데이터 구조를 구축 한 후 O ( 1 ) 에서 두 요소 간의 관계를 계산 합니다. 따라서 논문은 두 요소 간의 관계에 대한 쿼리가 비싸고 포셋의 매핑 요소가 사소한 것으로 가정하는 반면, 맵 데이터 구조는 일반적으로 후자를 해결하기 위해 전자의 대화를 가정합니다. 영형(1)영형(1)영형()
세바스찬 그라프

맵을 체인의 (최소) 분해로 나타내는 것은 좋은 통찰력입니다. 삭제를 통해 변하지 않는 것을 유지하는 것은 까다로운 일입니다.
Sebastian Graf

4

Heeringa et al.의 "동적 트리와 같은 부분 순서에서 검색"보셨습니까 ? 포셋에 대한 선행 문제에 대한 동적 데이터 구조를 제공합니다. RAM 용으로 설계되었지만 배열을 균형 이진 트리로 표시 하고 구조를 순전히 기능적으로 만드는 동안 곱셈 오버 헤드 만 발생시킬 수 있습니다 .영형(lg)


1
여기에는 일부 요소 이하의 모든 요소 e가 체인을 형성하는 '트리 형'부분 순서 (예 : 모임-만족) 만 포함 됩니다.
Sebastian Graf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.