![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Isaev |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 8.11.2007 Где: Germany Репутация: нет Всего: нет |
Есть проект, требуется оптимизировать по скорости
основные операции - быстрое и очень частое(отнимает основное время в работе алгоритма... даже уберал удаление вообще, ориентируясь по индексу на последний элемент, чтобы на него не тратилось время, а в конце программы подчищал всю конструкцию) добавление/удаление элемента(записи/объекта) в/из стека... Стек тут наиболее подходит по логике, т.к. на любом шаге интересен только текущий элемент и необходим откат на предыдущий Нашёл много реализаций стеков на Delphi, но в большинстве случаев пишут, что примеры очень не оптимизированы и приведены исключительно с целях обучения (Вот для чего учить не эффективным приёмам вообще не понятно! ![]() Больше всего понравилась реализация из книги "Фундаментальные алгоритмы" Бакнелла, но там же написано, что в большинстве случаев правильное использование стандартного класса TList намного эффектифнее изобретения очередного велосипеда. Вот я в смятении, создать велосипед? научиться "правильно" использовать TList или найти что-то готовое, доведённое до ума? 1. Если делать своё, вопрос: на основе связных списков или на основе массива(это думаю будет быстрее) 2. Если кто имеет что-то своё, достойное уважения, был бы рад изучить 3. Если TList всё же лучшее решение(в чём я очень сомневаюсь), то покажите как его для данной цели оптимально использовать |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
Только не "готовое доведённое до ума", если это на ваша задача! Алгоритмы, в целом давно "оптимизированы". Но этих алгоритмов - туева хуча. И какой из них будет лучшим в вашей задаче никому не известно. Нужно пробовать и сравнивать. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |