Skip to main navigation Skip to search Skip to main content

Cover Trees Revisited: Exploiting Unused Distance and Direction Information

  • Zhi Jie Wang*
  • , Mengdie Nie
  • , Kaiqi Zhao
  • , Zhe Quan
  • , Bin Yao
  • *Corresponding author for this work
  • Chongqing University
  • Pinduoduo Company
  • The University of Auckland
  • Hunan University
  • Shanghai Jiao Tong University

Research output: Contribution to journalArticlepeer-review

Abstract

The cover tree (CT) and its improved version are hierarchical data structures that simplified navigating nets while maintaining good runtime guarantees. They can perform nearest neighbor search in logarithmic time and provide efficient computation in practice. In this article, we revisit cover trees for nearest neighbor search, and propose a more competitive method. The central idea of our method is to fully exploit the unused distance and direction information. More specially, our method introduces three novel concepts/techniques: (i) range list, (ii) quadrant information, and (iii) vectorial angle cosine. These techniques are seamlessly integrated into our suggested data structure and search algorithms. As an extra bonus, we explore approximate nearest neighbor and k nearest neighbor based on the proposed techniques, and present algorithms for handling updates. Extensive experimental results, based on both real and synthetic datasets, consistently demonstrate that our method is attractive and competitive, compared against existing cover tree structures for nearest neighbor search and its variants.

Original languageEnglish
Pages (from-to)11231-11245
Number of pages15
JournalIEEE Transactions on Knowledge and Data Engineering
Volume35
Issue number11
DOIs
StatePublished - 1 Nov 2023
Externally publishedYes

Keywords

  • Cover tree
  • data mining
  • data structure and algorithms
  • machine learing

Fingerprint

Dive into the research topics of 'Cover Trees Revisited: Exploiting Unused Distance and Direction Information'. Together they form a unique fingerprint.

Cite this