Wikipedia에 따르면 경로 압축을 사용하지 않는 순위 별 합집합은 의 상각 된 시간 복잡성을 제공하고 순위와 경로 압축을 기준으로 한 합집합은 (어디 Ackerman 함수의 역함수입니다). 그러나 유니온 랭크가없는 경로 압축의 실행 시간은 언급하지 않았으며, 이것이 내가 일반적으로 구현하는 것입니다.
경로 압축 최적화를 사용하지만 순위 최적화를 사용하지 않는 조합 찾기의 상각 시간 복잡성은 무엇입니까?
Wikipedia에 따르면 경로 압축을 사용하지 않는 순위 별 합집합은 의 상각 된 시간 복잡성을 제공하고 순위와 경로 압축을 기준으로 한 합집합은 (어디 Ackerman 함수의 역함수입니다). 그러나 유니온 랭크가없는 경로 압축의 실행 시간은 언급하지 않았으며, 이것이 내가 일반적으로 구현하는 것입니다.
경로 압축 최적화를 사용하지만 순위 최적화를 사용하지 않는 조합 찾기의 상각 시간 복잡성은 무엇입니까?
답변:
Seidel과 Sharir는 2005 년에 [1] 거의 임의의 링크로 경로 압축을 사용하는 것으로 입증되었습니다. 작업은 대략적으로 복잡합니다 .
[1], 섹션 3 (임의 연결) : 보자 다음과 같이 union-find의 런타임을 나타냅니다. 운영 및 집단. 그들은 다음을 증명했습니다.
주장 3.1. 모든 정수 우리는 .
[1]에 따라 설정 준다
Tarjan과 van Leeuwen의 [2], 섹션 3에서보다 복잡한 방법을 사용하여 유사한 경계를 설정했습니다.
[2]의 정리 7. 가정. 압축 및 순진 링크를 사용하여 구현 된 일련의 일련의 작업에서 찾기 경로의 총 노드 수는 최대 절반과 순진한 연결로 찾기 경로의 총 노드 수는 최대 .
[2]의 렘마 9. 가정. 압축 및 순진 링크를 사용하여 구현 된 일련의 세트 작업에서 찾기 경로의 총 노드 수는 최대.
[1] : R. Seidel과 M. Sharir. 경로 압축의 하향식 분석. 시암 제이 컴퓨팅, 2005, Vol. 34, No. 3, 515-525 쪽.
[2] : R. Tarjan 및 J. van Leeuwen. 집합 조합 알고리즘의 최악의 분석. J. ACM, Vol. 1984 년 4 월 31 일 No. 2, 245-281 쪽.
할부 상환 실행 시간이 무엇인지 모르지만 일부 상황에서 경로 압축 대신 두 가지를 모두 사용하려는 이유를 언급 할 수 있습니다. 경로 압축 만 사용하는 경우 순위와 경로 압축에 의한 통합을 모두 사용하는 것보다 훨씬 큽니다.
일련의 고려 깊이있는 나무를 만들기 위해 악의적으로 선택된 노조 작전 (이는 노드의 순차 경로이며 각 노드는 이전 노드의 하위입니다). 그런 다음 가장 깊은 노드에서 단일 찾기 작업을 수행하면시각. 따라서 작업 당 최악의 실행 시간은.
대조적으로, 랭킹 별 최적화에서 작업 당 최악의 실행 시간은 : 단일 작업보다 시간이 오래 걸리지 않습니다 . 많은 응용 프로그램의 경우 이것은 중요하지 않습니다. 단일 작업의 최악의 시간이 아니라 모든 작업의 총 실행 시간 (예 : 상각 된 실행 시간) 만 중요합니다. 그러나 경우에 따라 작업 당 최악의 시간이 중요 할 수 있습니다. 예를 들어 작업 당 최악의 시간을 단일 작업으로 인해 지연이 발생하지 않도록하는 대화 형 응용 프로그램 (예 : 단일 작업으로 인해 응용 프로그램이 장시간 정지되지 않도록 보장하려는 경우) 또는 실시간으로 유용 할 수 있습니다. 당신은 항상 실시간 보증을 충족시킬 수 있도록 응용 프로그램입니다.