MATLAB: растущий хэш-стол

Я использую хеш-таблицу в своем коде, и когда код выполняется, я добавляю ключи и значения в хеш-таблицу. Сначала я думал, что использование хеш-таблицы ускорит мой код, но я ошибся, а использование хеш-таблицы замедлило его. Когда я искал об этом, я понял, что увеличение размера хеш-таблицы и ее запись занимают время, потому что, когда она становится больше, MATLAB ищет большее пространство и ищет большее пространство, которое тратит время.

Есть ли какой-нибудь метод предварительного выделения для хэш-таблиц в MATLAB?

Благодарю.

1 ответ

Решение

Я предполагаю, что вы имеете в виду, что вы используете встроенный containers.Map объект как ваша хеш-таблица. Хотя прямых средств для предварительного выделения такого объекта не существует, я предлагаю использовать либо простой двухколонный массив ячеек, либо java.util.Hashtable объект, оба из которых гораздо быстрее, чем containers.Map,

Ссылка: https://undocumentedmatlab.com/blog/using-java-collections-in-matlab

Другие вопросы по тегам