| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Организация стека |
| Автор: Isaev 6.6.2013, 18:17 |
| Есть проект, требуется оптимизировать по скорости основные операции - быстрое и очень частое(отнимает основное время в работе алгоритма... даже уберал удаление вообще, ориентируясь по индексу на последний элемент, чтобы на него не тратилось время, а в конце программы подчищал всю конструкцию) добавление/удаление элемента(записи/объекта) в/из стека... Стек тут наиболее подходит по логике, т.к. на любом шаге интересен только текущий элемент и необходим откат на предыдущий Нашёл много реализаций стеков на Delphi, но в большинстве случаев пишут, что примеры очень не оптимизированы и приведены исключительно с целях обучения (Вот для чего учить не эффективным приёмам вообще не понятно! Больше всего понравилась реализация из книги "Фундаментальные алгоритмы" Бакнелла, но там же написано, что в большинстве случаев правильное использование стандартного класса TList намного эффектифнее изобретения очередного велосипеда. Вот я в смятении, создать велосипед? научиться "правильно" использовать TList или найти что-то готовое, доведённое до ума? 1. Если делать своё, вопрос: на основе связных списков или на основе массива(это думаю будет быстрее) 2. Если кто имеет что-то своё, достойное уважения, был бы рад изучить 3. Если TList всё же лучшее решение(в чём я очень сомневаюсь), то покажите как его для данной цели оптимально использовать |