Сообщений 1 Оценка 0 Оценить |
Алгоритмы и структуры данных интересны как в чисто познавательных целях, так и с практической точки зрения. Рассмотренные здесь классы с некоторыми изменениями можно с успехом использовать на практике. Хотя алгоритмы в них несколько академичны, профессиональные библиотеки обычно содержат дополнительный оптимизирующий код, большинство этих библиотек написаны давно и на С. Они не учитывают новых возможностей, привнесенных языком С++, таких, как inline-функции, возможность использования родных операций сравнения (<, >, ==) и шаблонов. Все эти нововведения с успехом компенсируют отсутствие оптимизации, особенно учитывая оптимизирующие компиляторы, значительно улучшившиеся за последнее время.
Так, мы провели сравнительное тестирование приведенных здесь классов, несколько измененных с учетом особенностей Windows и новых возможностей языка С++. Скомпилированная в release-версии функция QuickSort примерно в 1.5 раза быстрее, чем ее аналог, функция qsort из стандартной библиотеки С (CRT) производства Microsoft. Существуют аналоги класса HashTable, но они обычно интегрированы в большие библиотеки типа MFC. Аналоги классов BinSTree и AVLTree можно найти только в дорогостоящих специализированных библиотеках.
Приведенные здесь классы и алгоритмы мало зависят от платформы, и, соответственно, позволят ваши программы более переносимыми и компактными. Библиотека ascLib, содержащая большое количество необходимых в повседневной работе алгоритмов, постоянно обновляется, а ее последнюю версию можно найти на сайте ftp.optim.su/asc/ascLib/ascLib.zip (257 KB). Она является надстройкой над ATL и не тянет за собой никаких дополнительных библиотек. Продукты с ее использованием компилировались под Microsoft VC 6 и beta 7, а также под Borland C++ Builder 5. Единственный ее недостаток – отсутствие документации ;). Инструкцию по использованию можно прочитать в ftp.optim.su/asc/ascLib/readme.txt. Мы будем рады, если кто-нибудь захочет развивать эту библиотеку, а если кто-то захочет написать описание для нее, мы с радостью предоставим дополнительную информацию. По всем вопросам обращайтесь по адресу audit@optim.su.
Сообщений 1 Оценка 0 Оценить |