순열의 패리티를 계산하는 원 패스 알고리즘을 찾고 있습니다. 입력 순열은 스트림 의해 주어진다고 가정합니다 . 출력은 순열의 패리티 여야합니다. 결정 론적 알고리즘이 사용해야하는 메모리 양에 관심이 있습니다. 문제에 대한 무작위 알고리즘이 있습니까?
한 번에 반전 횟수를 계산할 때 메모리를 사용한다는 것을 알고 있습니다. 모든 BST로 상한을 쉽게 얻을 수 있습니다. 하한은 여기에 표시됩니다 : http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.112.5622
아아, 종이의 하한 증거는 패리티 사례로 확장 될 수 없습니다 (또는 나에게 분명하지 않습니다).
또한 순열에 무작위로 액세스 할 수있는 작은 공간에서의 컴퓨팅 패리티는 결정 알고리즘에 의해 시간 및 O ( log 2 n ) 메모리에서 수행되거나 O ( n log n ) 시간 및 O ( 로그 N ) 무작위로 하나를 메모리. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256 참조
주된 아이디어는 순열의 패리티 식으로 계산 될 수 있다는 것이다 , (C)는 사이클의 수이고, N 크기이다. 저자는 순열을 순환 분해합니다. 따라서 사이클 수를 쉽게 계산할 수 있습니다.
스트리밍 모델의 컴퓨팅 패리티에 대한 효과적인 알고리즘 또는 메모리의 하한을 아는 사람이 있습니까? 랜덤 코인보다 랜덤 알고리즘이 더 흥미 롭습니다.