Re: Можно ли ускорить выполнение программы VBA
Есть еще один вариант для ускорения обработки. Заводишь два (одинаковых) массива точек M1 и M2. Сортируешь первый по X, второй по Y. Поиск в таком массиве на порядок быстрее чем при линейном поиске если, например, использовать метод половинного деления. Пусть тебе нужно найти все точки, находящиеся на расстоянии не больше R от заданной точки p. Находишь индекс точки I1 в массиве M1 и I2 в массиве M2. Затем увеличивая и уменьшая индексы на единицу находишь те точки, которые по X и Y отличаются от точки P не больше чем на R. После этого отбираешь из выбранных те, которые в пределах окружности с центром в P и радиусом R. Последние две операции можно совместить. Если R значительно меньше чем размеры прямоугольника, охватывающие массив M точек, то скорость поиска будет значительно выше.