Чи підтримує MATLAB якусь підтримку хеш-таблиць?
Деякий фон
Я працюю над проблемою в Matlab, яка вимагає масштабного представлення зображення. Для цього я створюю двовимірний фільтр Гауса з дисперсією 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).
Зараз я знаю, що мені не слід оптимізувати передчасно, і у мене може не виникати цієї проблеми взагалі, але пам’ятайте, це лише передумови, і бувають випадки, коли це справді найкраще рішення, незалежно від того, чи є воно найкраще рішення для моєї проблеми.