how isKey searches keys of an associative map (containers.Map)

5 vues (au cours des 30 derniers jours)
Herbert Triceratops
Herbert Triceratops le 23 Sep 2021
If M is an associative map (containers.Map) and k is a potential key, what exactly happens when I execute isKey(M,k)? It seems that the output of keys(M) is ordered by whatever the "natural" order is for M's particular type of key. Does that mean that isKey does a binary search? Or does isKey do a linear search? Or does isKey do something else? Or does it depend on details that I didn't include here?
Thanks!

Réponses (1)

Samhitha
Samhitha le 23 Avr 2025
While executing isKey(M, k) on a containers.Map in MATLAB, the function checks for the existence of the key using a hash table lookup, not a linear or binary search. The order of keys returned by keys(M) is just for display and does not affect how “isKey” works. The key lookup is generally very fast average-case constant time and independent of key type or order.
For more details go through the following documentation

Catégories

En savoir plus sur Analysis of Variance and Covariance dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by