DOI QR코드

DOI QR Code

Block Interpolation Search

블록 보간 탐색법

  • Lee, Sang-Un (Dept. of Multimedia Eng., Gangneung-Wonju National University)
  • 이상운 (강릉원주대학교 과학기술대학 멀티미디어공학과)
  • Received : 2017.05.28
  • Accepted : 2017.10.13
  • Published : 2017.10.31

Abstract

The binary and interpolation search algorithms are the most famous among search area algorithms, the former running in $O(log_2n)$ on average, and the latter in $O(log_2log_2n)$ on average and O(n) at worst. Also, the interpolation search use only the probability of key value location without priori information. This paper proposes another search algorithm, which I term a 'hybrid block and interpolation search'. This algorithm employs the block search, a method by which MSB index of a data is determined as a block, and the interpolation search to find the exact location of the key. The proposed algorithm reduces the search range with priori information and search the reduced range with uninformed situation. Experimental results show that the algorithm has a time complexity of $O(log_2log_2n_i)$, $n_i{\simeq}0.1n$ both on average and at worst through utilization of previously acquired information on the block search. The proposed algorithm has proved to be approximately 10 times faster than the interpolation search on average.

데이터 탐색법 중 가장 널리 알려진 이진법은 평균과 최악의 경우 $O(log_2n)$, 보간법은 평균 $O(log_2log_2n)$, 최악의 경우 O(n)의 수행 복잡도를 갖고 있다. 또한 기존의 보간탐색법은 사전정보없이 킷값이 확률적으로 위치한 정보에 근거하여 탐색을 한다. 본 논문에서는 데이터의 MSB 인덱스를 블록으로 하는 블록탐색법으로 해당 블록범위를 결정하고, 블록 내에서는 보간법을 적용하여 탐색하는 하이브리드 블록과 보간탐색 알고리즘을 제안한다. 제안된 알고리즘은 블록탐색법의 사전 정보를 활용하여 탐색범위를 축소시키고 축소된 탐색범위내에서 무정보 방법으로 탐색하는 방법으로 평균과 최악의 경우 모두 수행복잡도는 $O(log_2log_2n_i)$, $n_i{\simeq}0.1n$으로 보간탐색법의 평균 수행복잡도에 비해 10배 정도 시간을 단축시킬 수 있다.

Keywords

References

  1. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, "Introduction to Algorithms, MIT Press, ISBN: 0-262-03384-4, 2005.
  2. R. Sedgewick, "Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching", 3rd Ed., Addison-Wesley, ISBN: 978-0201314526, 1998.
  3. G. H. Gonnet L. D. Rogers, and J. A. George, "An Algorithmic and Complexity Analysis of Interpolation Search," Acta Informatica, Vol. 13, No. 1, pp. 39-52, Jan. 1980, doi:10.1007/BF00288534.
  4. A. Arne and C. Mattsson, "Dynamic Interpolation Search in O(loglogn) Time," Automata, Languages and Programming, edited by Andrzej Lingas, Rolf Karlsson, and Svante Carlsson, pp. 5 -27, Lecture Notes in Computer Science,1993, doi:10.1007/3-540-56939-1_58.
  5. D. Knuth, "The Art of Computer Programming 3 (3rd ed.), Section 6.1: Sequential Searching," Addison-Wesley, pp. 396-408, ISBN: 0-201 -89685-0, 1997.
  6. S. R. Shorofsky. R. W. Peters, E. J. Rashba, and M. R. Gold, "Comparison of Step-Down and Binary Search Algorithms for Determination of Defibrillation Threshold in Humans," Pacing Clin Electrophysiol, Vol. 27, No. 2, pp. 218-220, Feb. 2004, doi:10.1111/j.1540- 8159.2004.00413.x.
  7. A. R. Chadha, R. Misal, and T. Mokashi, "Modified Binary Search Algorithm," International Journal of Applied Information Systems, Vol. 7, No. 2, pp. 37-40, Apr. 2014, arXiv:1406.1677
  8. C. A. R. Hoare, "Quicksort", Communications of the ACM, Vol. 4, No. 7, pp. 321-327, Jul. 1961, doi:10.1145/366622.366644
  9. S. U. Lee, "Quicksort Using Range Pivot," Journal of KSCI, Vol. 17, No. 4, pp. 139-145, Apr. 2012, uci: G704-001619.2012.17.4.010.
  10. S. U. Lee, "3-Points Average Pivot Quicksort," Journal od IIBC, Vol. 14, No. 6, pp. 295-391, Dec. 2014, doi:10.7236/JIIBC.2014.14.6.
  11. S. U. Lee, "Proposal of Fast Counting Sort," Journal od IIBC, Vol. 15, No. 5, pp. 61-68, Oct. 2015, doi:10.7236/JIIBC.2015.15.5.61.
  12. S. U. Lee, "Virtual Radix Counting Bucket sort," Journal od IIBC, Vol. 15, No. 6, pp. 95-102, Dec. 2015, doi:10.7236/JIIBC.2015.15.6.95.
  13. D. E. Ferguson, "Fibonaccian Searching," Communications of the ACM, Vol. 3, No. 12, pp. 648, Dec. 1960, doi:10.1145/367487.367496.