두 개의 3D 데이터 세트가 있습니다. 이 세트의 각 요소는 (float,float,float)
유형의 세 쌍입니다. 이 데이터 세트에는 중복 요소가 있습니다. 병합 이러한 두 가지 데이터 세트는 결과 집합에 중복 요소가 없도록합니다.정렬되지 않은 트리플 세트 구현
본래의 접근법은 단순히 이들 삼중 저장 std::vector
의리스트를 유지하는 것, 새로운 삼중가 이미리스트에 존재하지 않는 경우에만 삽입해야 줄이기 위해
(단순 floating-point equality comparison를 사용하여 검사) 삽입 시간, 다른 접근법은 중복을 피하기 위해 을 현재 트리의 삼중 항에 대해 쿼리 한 후에 만 k- 트리에 트리플릿을 저장할 수 있습니다.
질문 :이
내가 효과적으로 다른 방법은 부동 소수점 삼중 요소와 정렬되지 않은 집합을 구현이 있는지 알고 싶습니다?
std::unordered_set<tuple<float, float, float>> Triplets;
은 X, Y가, Z 좌표는 여기에 중요하지 않습니다 -하지만 당신은합니다 (tuple
에서, 논리적)으로 정렬 할 수 있도록 그들이 당신을 위해 중요 할 수 있습니다에 대해 어떻게