A PERFORMANCE MEASUREMENT BETWEEN TRADITIONAL BINARY SEARCH AND BUIATTI BINARY SEARCH ALGORITHMS

Authors

  • Reane Franco Goulart IFTM
  • Roberto Caetano Buiatti IFTM

DOI:

https://doi.org/10.61164/nzkwct67

Keywords:

Busca Binária; Otimização de Algoritmos; Medição de Desempenho; Algoritmos Adaptativos; Busca Binária Buiatti, Binary Search; Algorithm Optimization; Performance Measurement; Adaptive Algorithms; Buiatti Binary Search., Búsqueda binaria; Optimización de algoritmos; Medición del rendimiento; Algoritmos adaptativos; Búsqueda binaria Buiatti

Abstract

This undergraduate research project presents a detailed performance measurement comparing the traditional binary search algorithm with Buiatti binary search, an innovative adaptive variation. Although traditional binary search is worst-case optimal for comparisons (complexity O(log n)), its fixed symmetric splitting strategy does not exploit statistical properties of the data distribution or access patterns that could reduce the average search cost. In practical scenarios where data exhibits non-uniform distributions (such as clusters) or where repetitive access patterns exist, this independence from the data represents a missed optimization opportunity. In this context, Buiatti binary search emerges as a promising alternative, designed to optimize the average case by introducing local verification heuristics before classical splitting. The methodology adopted, based on classic works such as Cormen et al. (2009) and Knuth (1998), consisted of the implementation and comparative analysis of both versions. Empirical tests using random search strategies and control points revealed that, although both maintain logarithmic complexity, the Buiatti approach offers measurable performance gains and greater stability in reference locality scenarios, validating its potential for specific applications.

Downloads

Download data is not yet available.

References

BENTLEY, Jon. Programming Pearls. 2. ed. Addison-Wesley, 1999.

BLOCH, Joshua. Effective Java. 3. ed. Addison-Wesley, 2018.

CORMEN, Thomas H. et al. Algoritmos: Teoria e Prática. 3. ed. Rio de Janeiro: Elsevier, 2012.

CORMEN, Thomas H. et al. Introduction to Algorithms. 3. ed. MIT Press, 2009.

GAMMA, Erich et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.

ISO/IEC. ISO/IEC 14882:2020 - Programming Language C++. International Organization for Standardization, 2020.

KNUTH, Donald E. The Art of Computer Programming, Volume 3: Sorting and Searching. 2. ed. Addison-Wesley, 1998.

LUTZ, Mark. Programming Python: Powerful Object-Oriented Programming. 4. ed. O'Reilly Media, 2011.

ORACLE. The Java™ Tutorials. Oracle, 2023. Disponível em: https://docs.oracle.com/javase/tutorial/. Acesso em: 10 out. 2023.

PYTHON SOFTWARE FOUNDATION. Python Language Reference. Disponível em: https://docs.python.org/3/reference/. Acesso em: 10 out. 2023.

SEDGEWICK, Robert; WAYNE, Kevin. Algorithms. 4. ed. Addison-Wesley, 2011.

STROUSTRUP, Bjarne. The C++ Programming Language. 4. ed. Addison-Wesley, 2013.

TANENBAUM, Andrew S. Estruturas de Dados Usando C. Pearson, 2007.

VAN ROSSUM, Guido; DRAKE, Fred L. Python Tutorial. Python Software Foundation, 2023. Disponível em: https://docs.python.org/3/tutorial/. Acesso em: 10 out. 2023.

Published

2026-01-30

How to Cite

A PERFORMANCE MEASUREMENT BETWEEN TRADITIONAL BINARY SEARCH AND BUIATTI BINARY SEARCH ALGORITHMS. (2026). Revista Multidisciplinar Do Nordeste Mineiro, 1(03), 1-28. https://doi.org/10.61164/nzkwct67