에서 순수 기능 최악의 상수 시간 Catenable 정렬 된 목록 , Brodal 등. O (1) 연결 및 O (lg n) 삽입, 삭제 및 찾기를 통해 순전히 기능적 균형 트리를 제공합니다. 데이터 구조는 다소 복잡합니다.
O (1)이 연결되고 기능적이거나 그렇지 않은 간단한 균형 검색 트리가 있습니까?
에서 순수 기능 최악의 상수 시간 Catenable 정렬 된 목록 , Brodal 등. O (1) 연결 및 O (lg n) 삽입, 삭제 및 찾기를 통해 순전히 기능적 균형 트리를 제공합니다. 데이터 구조는 다소 복잡합니다.
O (1)이 연결되고 기능적이거나 그렇지 않은 간단한 균형 검색 트리가 있습니까?
답변:
연결에서 한 트리의 모든 트리에서 다른 트리의 모든 것을 다시 삽입 하여 O (1) 상각 연결 시간 으로 데이터 구조를 간단 하게 만들 수 있습니다 . 첫 번째 장소이므로 전체 시간은 여전히 O (n log n)입니다. 그러나 이것은 속임수입니다.
최악의 경우 O (1) 시간 동안 저자는 모든 데이터 구조에 대해 열린 문제라고 주장하므로 쉬운 대답을 찾지 못할 것이라고 생각합니다.
나는 당신이 언급 한 논문을 다운로드했고, 적어도 논문이 출판 될 때 "아니오"라고 대답했습니다. 그것은 두 가지 이유 때문입니다.
관련 연구를 적절하게 검토하기 위해 논문이 필요하며, 서론에서 "아니오"라고 요약 된 그림 1과 함께 검토한다. 적어도 평판이 좋은 컨퍼런스에 발표 된 적이 있지만 다음과 같이 보입니다 (Brodal은 주제에 대한 참조 인 C. Okasaki의 "순수한 기능적 데이터 구조"에서 두 번 인용되었습니다).
그러나 그들은 텍스트에서 검색 시간 O (log n log log n)와 O (1) 시간으로 연결된 알고리즘을 STOC '96의 K & T 논문에 스케치 한 것으로 언급합니다. 당신에게 흥미로울 것입니다.
포인트 1은 또한 나중에이 결과를 찾기 위해이 논문을 인용 한 논문을 간단하게 찾을 수 있도록합니다.
질문이 실질적으로 관련이 있지만 (그렇지 않아야 함), 나는 상수 요소가 O (1)과 O (log N)의 차이보다 중요하다고 생각합니다 (Sedgewick의 알고리즘 소개에서 논의 됨). 애플리케이션의 사용 사례에 대한 벤치 마크 만 찾으면됩니다.