Поддерживает ли MATLAB хеш-таблицы?
Некоторый фон
Я работаю над проблемой в Matlab, которая требует представления изображения в масштабном пространстве. Для этого я создаю фильтр 2-D Gaussian с дисперсией sigma*s^k
для k
в некотором диапазоне., А затем я использую каждый в свою очередь , для фильтрации изображения. Теперь мне нужно какое-то отображение k
отфильтрованного изображения.
Если бы k
всегда было целое число, я бы просто создал трехмерный массив, такой что:
arr[k] = <image filtered with k-th guassian>
Однако k
это не обязательно целое число, поэтому я не могу этого сделать. Я думал о том, чтобы сохранить такой массив k
s, чтобы:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
На первый взгляд это кажется довольно хорошим, за исключением того, что я буду выполнять этот поиск несколько тысяч раз примерно с 20 или 30 значениями k
, и я боюсь, что это повредит производительности.
Интересно, не лучше ли мне было бы делать это с какой-то хэш-таблицей, чтобы у меня было время поиска, равное O (1) вместо O (n).
Теперь я знаю, что мне не следует проводить оптимизацию преждевременно, и у меня может вообще не быть этой проблемы, но помните, что это всего лишь фон, и могут быть случаи, когда это действительно лучшее решение, независимо от того, лучшее решение моей проблемы.