홀수 회전의 재생 트리


9

스플레이 트리에 항목을 삽입 할 때 지그재그 또는 지그재그 패턴을 기준으로 한 쌍으로 회전이 수행됩니다. 홀수의 회전이 수행되는 경우 리프에서 시작하여 추가 회전을 수행하거나 추가 회전을 저장하고 루트에서 수행 할 수 있습니다. 그게 그렇게 중요한 건가?

예를 들어, 첨부 된 이미지에서 BST에 4를 삽입하고 루트에 "재생"합니다. 그림의 맨 위에는 먼저 리프 노드에서 지그-지그 쌍을 찾아 바닥에서 지그재그 스플레이를 수행하여 루트에서 마지막 오른쪽 회전을 남깁니다. 그림의 맨 아래에서 먼저 잎에서 시작하여 홀수 회전을 한 다음 루트에 지그재그 스플레이를 수행합니다.

어느 것이 맞습니까? 아니면 둘 다 일반적인 스플레이 트리 성능으로 이어질까요?

홀수 회전 수를 표시하는 두 가지 방법

답변:


4

실제로 분석에는 중요하지 않습니다. 재생 트리 성능을 분석하기위한 핵심 정리는 액세스 정리 입니다. Splay (x) 작업 의 상각 비용 이1+(아르 자형()아르 자형(엑스)), 어디 나무의 뿌리이며 아르 자형(): =로그(무게 하위 트리). 하위 트리의 가중치는 해당 노드의 가중치 합계입니다. (엘레 마 적용에 따라 중량 (양)이 선택됩니다.) 사용되는 잠재적 기능은 다음과 같습니다.Φ()=엑스 노드 아르 자형().

액세스 젬마의 증거는 단일 지그 / 지그재그 / 지그 지그 등의 운영 비용을 살펴 본다. 당신은 얻을

  1. 지그재그 또는 재그 운영 비용 1+(아르 자형+()아르 자형()), 어디 아르 자형+ 수술 후 울렸다 노드가 위로 회전합니다.

  2. 지그재그 / 지그재그 및 대칭 운영 비용 (아르 자형+()아르 자형()).

단일 splay (x) 에서 수행되는 작업에 대해 이러한 차이를 더하면 망원경 합계를 얻습니다.1+(아르 자형()아르 자형(엑스)).

회전 순서를 변경하면 같은 합계를 얻게됩니다. 유일한 차이점은 이제 ''+1 ''은 마지막 회전이 아니라 첫 번째 회전에서 나온다는 것입니다. 중간에 지그 회전을 할 수도 있습니다. 모든 추가 (클래식) 분석은 액세스 구성에 의존합니다.

그러나 단일 회전을 마지막으로 수행하는 이유는 노드의 깊이가 사전에 짝수인지 홀수인지 알 수 없기 때문입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.