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

5 visualizaciones (últimos 30 días)
Herbert Triceratops
Herbert Triceratops el 23 de Sept. de 2021
Respondida: Samhitha el 23 de Abr. de 2025
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!

Respuestas (1)

Samhitha
Samhitha el 23 de Abr. de 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

Categorías

Más información sobre Analysis of Variance and Covariance en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by