유형 a의 요소 세트를 저장해야합니다. 그래서 비교하는 부분적으로 정렬되어 입력 1 및 2 작은 반환 할 큰은 같거나 비교할.
해시 테이블의 한 가지 문제는 두 개의 동일한 요소가 다르게 표현 될 수 있으며, 동등성과 일치하는 해싱 함수에 액세스 할 수 없다는 것입니다.
두 요소를 비교하는 것은 시간이 오래 걸리므로 비교를 최소화하는 것이 흥미로울 것입니다. 필요한 경우 비교 연산자에 대한 호출을 메모 할 수 있습니다. 나는 이제 안티 체인 만 저장하면된다는 것을 깨달았다 (또는 그렇게 가정하자). 보다 정확하게 수행해야 할 작업은 다음과 같습니다.
- 안티 체인에서 요소를 제거하십시오.
- 요소를 추가하십시오. 요소가 멤버보다 작은 경우에는 추가하지 말고 추가하지 않으면 그보다 작은 모든 요소를 제거하십시오.
1
귀하의 질문에 무의식적으로 답변하기 위해서는 더 많은 정보가 필요하다고 생각합니다. 요소를 저장하고 있으며 부분 순서가 쉽게 계산됩니까? 아니면 일종의 룩업 테이블에 부분 순서를 저장하고 있습니까? 부분 순서를 어떻게 사용 하시겠습니까? 선형 순서를 사용하여 세트를 저장하는 것과 같은 방식으로 사용하려고합니까 (예 : 검색 트리)?
—
Andrej Bauer
나는 안티 체인 만 가지고 있다는 것을 깨달았으므로 결과를 목록에 저장하는 순진한 솔루션보다 나은 것이 있는지 확실하지 않습니다. 그렇다면 문제가 발생하여 죄송합니다.
—
Abdallah
귀하의 질문이 이제 무질서하다고 생각되면 삭제 / 폐쇄를 위해 플래그를 지정해야합니까?
—
Suresh Venkat
세트의 두 요소가 비교할 수 없지만 이것이 순진한 표현이 최선이라는 것을 의미하지는 않습니다. 예를 들어, 포함 순서대로 유한 멀티 세트 (= 분할 순서로 정렬 된 정수)를 고려하십시오. 데이터 표현 (카디널리티 사용, 지원 세트 사용 등)에 따라 최적화 할 가능성이 많습니다. 이러한 최적화는 주문 관계의 특성에 크게 좌우됩니다. 그런 다음 삭제 된 요소에 대한 정보를 유지할 가치가 있는지 여부를 결정하는 별도의 문제가 있습니다. 새로운 요소와 자주 비교 하는가?
—
Gilles 'SO- 악마 그만해'10
알았어 고마워 그래서 최적화로 이어질 수있는 정보 (정수 경계 가능성)를 추가했습니다.
—
Abdallah