Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

간격 힙에 요소 삽입

<시간/>

간격 힙에 존재하는 요소의 수에 따라 다음과 같은 경우가 가능합니다. -

  • 홀수 요소 개수:인터벌 힙의 요소 개수가 홀수이면 마지막 노드에 먼저 새 요소를 삽입합니다. 그런 다음 이전 노드 요소와 연속적으로 비교하여 간격 힙에 필요한 기준을 충족하는지 테스트합니다. 요소가 조건을 충족하지 않는 경우 모든 조건이 충족될 때까지 마지막 노드에서 루트로 이전됩니다.
  • 짝수 요소:요소 수가 짝수이면 새 요소를 삽입하기 위해 추가 노드가 생성됩니다. 요소가 상위 간격의 왼쪽에 속하거나 속해 있으면 최소 힙에 있는 것으로 처리되고 요소가 상위 간격의 오른쪽에 속하거나 떨어지는 경우 최대 힙에서 처리됩니다. 또한, 간격 힙에 대한 모든 조건이 만족될 때까지 연속적으로 비교하여 마지막 노드에서 루트로 전달한다. 요소가 부모 노드 자체의 간격 내에 있거나 속해 있으면 프로세스가 종료되고 자체적으로 요소의 전송이 이루어지지 않습니다. 요소를 삽입하는 데 필요한 시간은 모든 조건을 만족하는 데 필요한 이동 횟수에 따라 달라지며 O(log n)입니다.