임의의 유형의 데이터 세트 {A, B, C, D}가 있다고 가정하고이를 다른 데이터 세트와 비교하려고합니다. {A, B, C, D}, {B, C, D, A}, {C, D, A, B} 및 {D, A, B, C} {A, C, B, D} 또는 비슷한 순서로 정렬되지 않은 다른 세트에는 해당되지 않습니다. 이 작업을 수행하는 가장 빠른 방법은 무엇입니까?주기적 데이터를 비교하는 빠른 방법
그들을 회전에 배열로 저장하고 그런 식으로 비교하는 것은 O (n^2) 작업이므로별로 좋지 않습니다.
첫 번째 직관은 {A, B, C, D, A, B, C}와 같은 집합으로 데이터를 저장 한 다음 하위 집합 O (n) 만 검색하는 것입니다. 이 작업을 더 빨리 완료 할 수 있습니까?
가능한 두 개의 목록이 파이썬에서 순환 적으로 동일한지 확인하는 방법] (http://stackoverflow.com/questions/26924836/how-to-check-whether-two-lists-are-circularly-identical- in-python) –