Kinetic priority 큐
Kinetic priority queueKinetic 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] 구조를 기반으로 한 힙 형태의 구조도 있어 우선 순위의 아핀 운동을 위해 더 나은 성능을 달성하지만 곡선 궤적을 지원하지 않습니다.키네틱 토너먼트는 일반적으로 사용되는 또 다른 구현입니다.결정적으로 히터 또는 행거와 동일한 성능 한계를 달성하지만 힙 기반 데이터 구조보다 로컬 및 응답성이 떨어집니다.
| 요소 우선순위의 궤적 | 키네틱 힙 | 키네틱 행거, 히터 및 토너먼트 | 동적 볼록 선체 |
|---|---|---|---|
| 줄들 | |||
| 선분 | |||
| γ-접합 곡선 | 없음 |
여기서α ( (x는 역 Ackermann 함수를 나타냅니다. { \ delta - 교차곡선이란 각 쌍이 \ \ delta} 를 갖는 곡선을 (n )는 \ displaystyle \ _ { \ } (n )n style의 상단 의 최대 크기를 나타내는 데이븐포트-Schinzel의항을 말합니다. - \displaystyle - .{\ n은 큐에 있는 요소의 최대수이며 m{\ m은 큐에 있는 요소의 총수를 나타냅니다.
적용들
운동 우선 큐는 운동 가장 가까운 쌍, 운동 최대[3] 컷 또는 운동 클러스터링과 [4]같은 다른 운동 데이터 구조/알고리즘의 일부로 사용됩니다.
또한 브로드캐스트[5] 스케줄링이나 연결된 빨간색 파란색 세그먼트 교차 [6]문제 등의 문제를 해결하기 위해 사용할 수도 있습니다.
레퍼런스
- ^ 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.
- ^ 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.
- ^ Czumaj, Arthur; Frahling, Gereon; Sohler, Christian (2007). Efficient kinetic data structures for MaxCut (PDF). Canadian Conference on Computational Geometry. Retrieved May 17, 2012.
- ^ 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.
- ^ 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.
- ^ 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.