Interpolated binary search: An efficient hybrid search algorithm on ordered datasets

Abstract The exponential increase in the rate of data size is much higher than the increase in the speed of the computer, which has given much focus to search algorithms in the research literature. Finding an item in an ordered dataset is an efficient method in the data processing. However, binary and interpolation algorithms are commonly used to search ordered datasets in many applications. In this paper, we propose a hybrid algorithm for searching ordered datasets based on the idea of interpolation and binary search. The proposed algorithm is called Interpolated Binary Search (IBS). It is well known that the performance of traditional interpolation search depends specifically on key distribution, and its performance degrades significantly in non-uniform distributed datasets. Therefore, our proposed algorithm works efficiently on various distribution datasets. In particular, IBS aims to search datasets of unknown distribution or datasets that change dynamically and produce a dynamic distribution. Experimental results show that IBS performs better compared to other algorithms that use a similar approach.

[1]  Nicola Santoro,et al.  Interpolation-Binary Search , 1985, Inf. Process. Lett..

[2]  Jignesh M. Patel,et al.  Efficiently Searching In-Memory Sorted Arrays: Revenge of the Interpolation Search? , 2019, SIGMOD Conference.

[3]  George Marsaglia,et al.  Simulating interpolation search , 1993 .

[4]  Rivalino Matias,et al.  An experimental study on execution time variation in computer experiments , 2014, SAC.

[5]  Philippe Flajolet,et al.  An introduction to the analysis of algorithms , 1995 .

[6]  Christos Makris,et al.  Dynamic Interpolation Search revisited , 2020, Inf. Comput..

[7]  Gaston H. Gonnet,et al.  An algorithmic and complexity analysis of interpolation search , 2004, Acta Informatica.

[8]  Sahin Emrah Amrahov,et al.  New and improved search algorithms and precise analysis of their average-case complexity , 2019, Future Gener. Comput. Syst..

[9]  Mark Weiss Data Structures and Problem Solving Using C , 1999 .

[10]  Steven Skiena,et al.  The Algorithm Design Manual , 2020, Texts in Computer Science.

[11]  Emilio Ferrara,et al.  Adaptive search over sorted sets , 2015, J. Discrete Algorithms.

[12]  Alon Itai,et al.  Interpolation search—a log logN search , 1978, CACM.

[13]  Kurt Mehlhorn,et al.  Dynamic interpolation search , 1985, JACM.

[14]  Asha Elza Jacob,et al.  Hybrid search algorithm: Combined linear and binary search algorithm , 2017, 2017 International Conference on Energy, Communication, Data Analytics and Soft Computing (ICECDS).

[15]  W. W. Peterson,et al.  Addressing for Random-Access Storage , 1957, IBM J. Res. Dev..

[16]  Pat Morin,et al.  Array Layouts for Comparison-Based Searching , 2015, ACM J. Exp. Algorithmics.

[17]  Denis Barthou,et al.  Performance evaluation and analysis of thread pinning strategies on multi-core platforms: Case study of SPEC OMP applications on intel architectures , 2011, 2011 International Conference on High Performance Computing & Simulation.

[18]  Windania Purba,et al.  Comparison Searching Process of Linear, Binary and Interpolation Algorithm , 2017 .