18c0693f

и классов, составляющих библиотеку AcedUtils,


При разработке функций и классов, составляющих библиотеку AcedUtils, упор делался на оптимизацию по быстродействию. Но разработчик прикладной программы должен понимать, что секрет достижения максимальной производительности заключается не столько в оптимизации машинного кода, ассемблерных вставках и т.п., сколько в использовании правильных алгоритмов. Например, если стоит задача поиска некоторого значения в массиве элементов, можно пойти несколькими путями. Самый простой путь – последовательный перебор элементов и сравнение их с искомым значением. Для массива, содержащего всего несколько элементов, этот метод может оказаться самым эффективным. Если массив содержит много элементов, лучше заранее отсортировать его, а затем использовать бинарный поиск, который несравнимо быстрее последовательного перебора элементов. Если число элементов массива измеряется десятками тысяч и поиск в нем выполняется часто, имеет смысл пожертвовать лишней памятью для организации хешированного списка. Время поиска в хеше не зависит от размера массива. Но и хешированный список имеет свои недостатки, как, например, невозможность последовательной индексации элементов. Кратко рассмотрим назначение модулей в составе AcedUtils. Теперь подробнее рассмотрим функциональность основных модулей AcedUtils.