O MATLAB tem suporte para tabelas de hash?
Alguns antecedentes
Estou trabalhando em um problema no Matlab que requer uma representação de escala no espaço de uma imagem. Para fazer isso eu criar um filtro 2-D Gaussian com variância sigma*s^k
para k
em algum intervalo., E então eu uso um de cada vez para filtrar a imagem. Agora, quero algum tipo de mapeamento da k
imagem filtrada.
Se k
fosse sempre um número inteiro, eu simplesmente criaria uma matriz 3D de modo que:
arr[k] = <image filtered with k-th guassian>
No entanto, k
não é necessariamente um número inteiro, então não posso fazer isso. O que pensei em fazer foi manter uma série de k
s tais que:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
O que parece muito bom à primeira vista, exceto que estarei fazendo essa pesquisa potencialmente alguns milhares de vezes com cerca de 20 ou 30 valores de k
, e temo que isso prejudique o desempenho.
Eu me pergunto se eu não ficaria melhor fazendo isso com uma tabela de hash de algum tipo, de modo que eu teria um tempo de pesquisa que é O (1) em vez de O (n).
Bem, eu sei que não devo otimizar prematuramente e posso não ter esse problema, mas lembre-se, isso é apenas o pano de fundo, e pode haver casos em que esta é realmente a melhor solução, independentemente de ser o melhor solução para o meu problema.