2 ~ 3 히프

2–3 heap

컴퓨터 공학에서 2-3 힙은 1999년 타다오 타카오카에 의해 설계된 데이터 구조, 즉 의 변형입니다.이 구조는 Fibonacci 힙과 비슷하며 2-3 트리에서 차용합니다.

일부 일반적인 힙 작업의 시간 비용은 다음과 같습니다.

  • delete-min은 O( (){ O ( \ ( ) } )걸립니다.
  • 감소 키는 상각된 일정한 시간이 걸립니다.
  • 삽입에는 상각된 시간이 일정하게 소요됩니다.

나무의 다항식

r {\ r 선형 트리는 첫 번째 노드를 트리의 루트로 하는r {\ 노드의 경로이며 글씨r \로 표시됩니다(:1 {\ 단일 노드의 선형 트리입니다). P T\ P S(\ S와 T(\ T 중 STS는 S(\ )의모든 가 T(\T)의 으로 대체된 새로운 트리이며 S(\ S 각 엣지에 대응하는 트리의 뿌리를 연결합니다.이 제품의 정의는 연관성이 있지만 가환성이 없다는 점에 유의하십시오.2개의 트리 스타일 S와 T T S + S)는 2개의 S S T T의 집합입니다.

나무의 r-ary 다항식은 P - - + 1 + a 1 r + 0 { { P = \ { a { - 1 } ^ { k - 1 } + \ + \ r } + \ 로 정의된다 n 노드가 고유합니다. i i\ \ { { } ^ {} { { { { { { 、 { a { i } )의 으로 루트가i-( \ _ { }} ) of of of of of of of of of of 에지는 의 메인 트렁크 ^{라고 불립니다.게다가, 트리의 다항식의 노드가 힙 속성의 키와 관련되어 있는 경우, 트리의 r-nomial 큐라고 불립니다.

r-nomial 큐에서의 동작

i\ \ { }{ } \ { { a a2개의 형식의 결합하려면 트리 루트 키에 따라 메인 트렁크 내의 트리를 정렬합니다.+ { _ { } + { } \ r }의경우 ( + - )i { ( \ } { } + \ } - )이 됩니다그렇지 않으면 트리 ) i{ +\ {a} 'i따라서 2개의 nomial 큐의 합계는 실제로는 base {\ r에 2개의 숫자를 추가하는 것과 비슷합니다.

키를 다항식 큐에 삽입하는 은 단일 노드를 키의 라벨과 함께 기존 r-nomial 큐에 병합하는 것과 같습니다.( rn )\ O ( \ _ { } { } }

최소값을 삭제하려면 먼저 트리의 루트(:T {\T에서 최소값을 찾아야 합니다 그런 T {\ T}에서 최소값을 삭제한 후 결과 다항식 큐 {\ Q- T {\ 추가합니다(\ O

(2,3)-접속

,) - , r ) - { T 1 (-) ( - )、 { T ) 재귀적으로 정의됩니다. sl l r r { 와 r{displaystyleft (s-1 사이의 동작입니다(디스플레이 B 의 결과인A A) 및 B(디스플레이 스타일 B)는 B A 루트를 오른쪽 의 아이로 하고T(0 단일 노드입니다. T의 루트(\ T i(\ i입니다.

트리의 확장 다항식(\ P는 P - T )++ + )+ P+1}T로 정의됩니다.l l}) r= 3({ r= 케이스는 )- e {)

(2,3)-히프에서의 동작

삭제 최소값:우선 나무의 뿌리를 스캔하여 최소값을 구합니다. { T 최소 요소를 포함하는 트리로 하고 QQ})를i {에서 루트를 삭제한 결과로 합니다.다음으로 P- ( Q Q(마지 조작은 2개의 r-nomial 큐의 Marge와 유사합니다).

삽입:새 키를 삽입하기 위해 현재 존재하는 (2,3)-히프를 이 키로 라벨이 지정된 단일 노드 트리 (0 T ( 결합합니다.

감소 키: 완료!

레퍼런스

  1. ^ a b Takaoka, Tadao (March 2003). "Theory of 2–3 Heaps". Discrete Applied Mathematics. 126 (1): 115–128. doi:10.1016/S0166-218X(02)00219-6.