Kinetic priority 큐

Kinetic priority queue

Kinetic Priority Queue추상적인 Kinetic 데이터 구조입니다.이는 모든 요소의 priority가 시간의 연속 함수로 변화할 때 최대(또는 최소) priority 요소(키와 값의 쌍)를 유지하도록 설계된 priority 큐의 변형입니다.운동 우선 큐는 k-set 문제 및 연결된 빨간색 파란색 세그먼트 교차 문제와 같은 중요한 비운동학적 문제를 해결하기 위해 여러 운동 데이터 구조의 구성요소로 사용되었다.

실장

지원되는 조작은 다음과 같습니다.

  • create-priority():q 빈 키네틱priority 큐를 만듭니다.
  • find-max()q, t (또는 find-min): 현재 가상 시간에 큐에 저장된 최대값(또는 min-min의 경우 min)을 반환합니다.
  • insert XfX, ): 현재 가상t 시간에 키를 키네틱큐에 삽입합니다. 값은 시간의 연속 함수X f()t로 바뀝니다.
  • delete(X삭제) - 현재 가상 시간에 키를 삭제합니다.

키네틱 priority 큐에는 몇 가지 종류가 있으며, 이들은 동일한 기본 동작을 지원하지만 성능 보증이 다릅니다.가장 일반적인 구현 중 일부는 구현이 간단하지만 엄격한 이론적 성능 한계가 없는 운동 과 분석하기 더 쉬운 무작위 변형인 운동 히터와 운동 행어이다.동적 볼록 선체 데이터[1] 구조를 기반으로 한 힙 형태의 구조도 있어 우선 순위의 아핀 운동을 위해 더 나은 성능을 달성하지만 곡선 궤적을 지원하지 않습니다.키네틱 토너먼트는 일반적으로 사용되는 또 다른 구현입니다.결정적으로 히터 또는 행거와 동일한 성능 한계를 달성하지만 힙 기반 데이터 구조보다 로컬 및 응답성이 떨어집니다.

키네틱 priority 큐 구현의 시간 복잡성
요소 우선순위의 궤적 키네틱 힙 키네틱 행거, 히터 및 토너먼트 동적 볼록 선체
줄들
선분
γ-접합 곡선 없음

여기서α ( (xAckermann 함수를 나타냅니다. { \ delta - 교차곡선이란 각 쌍이 \ \ delta} 갖는 곡선을 (n )는 \ displaystyle \ _ { \ } (n )n style의 상단 의 최대 크기를 나타내는 데이븐포트-Schinzel항을 말합니다. - \displaystyle - .{\ n 큐에 있는 요소의 최대수이며 m{\ m 큐에 있는 요소의 총수를 나타냅니다.

적용들

운동 우선 큐는 운동 가장 가까운 쌍, 운동 최대[3]또는 운동 클러스터링[4]같은 다른 운동 데이터 구조/알고리즘의 일부로 사용됩니다.

또한 브로드캐스트[5] 스케줄링이나 연결된 빨간색 파란색 세그먼트 교차 [6]문제 등의 문제를 해결하기 위해 사용할 수도 있습니다.

레퍼런스

  1. ^ Brodal, G.S.; Jacob, R. (2002). "Dynamic planar convex hull". Proc. The 43rd Annual IEEE Symposium on Foundations of Computer Science. FCS. pp. 617–626. arXiv:1902.11169. doi:10.1109/SFCS.2002.1181985.
  2. ^ da Fonseca, Guilherme D.; de Figueiredo, Celina M. H.; Carvalho, Paulo C. P. "Kinetic hanger" (PDF). Information Processing Letters. pp. 151–157. Archived from the original (PDF) on May 24, 2015. Retrieved May 17, 2012.
  3. ^ Czumaj, Arthur; Frahling, Gereon; Sohler, Christian (2007). Efficient kinetic data structures for MaxCut (PDF). Canadian Conference on Computational Geometry. Retrieved May 17, 2012.
  4. ^ Li, Yifan; Han, Jiawei; Yang, Jiong. "Clustering moving objects". Proceedings of the tenth ACM SIGKDD international conference on knowledge discovery and data mining. SIGKDD. ACM. pp. 617–622.
  5. ^ Haim Kaplan; Robert E. Tarjan; Kostas Tsioutsiouliklis (2001). "Faster kinetic heaps and their use in broadcast scheduling". Proc. 12th ACM-SIAM Symposium on Discrete Algorithms. ACM. pp. 836–844. CiteSeerX 10.1.1.12.2739.
  6. ^ Basch, Julien; Guibas, Leonidas; Ramkumar, G. (1996). "Reporting red-blue intersections between two sets of connected line segments". Algorithms — ESA '96. Springer Berlin / Heidelberg. CiteSeerX 10.1.1.55.98. doi:10.1007/3-540-61680-2_64. ISBN 978-3-540-61680-1.