Naeel Maqsudov » 07 май 2007, 00:51
Динамические списки позволяют представлять структуры данных с последовательным доступом. Динамические списки могут быть односвязными, двусвязными, циклическими. Следующая инкарнация динамических списков - это деревья. Все эти структуры отлично заточены под огромное количество прикладных задач. Очень рекомендую по этому поводу книгу Дональда Кнута "Искусство программирования". Том 1.
Там есть удивительно изящные алгоритмы. Например, с помощью взаимно-пересекающихся списков, составленных из коэффициентов полиномов, фантастически просто (на асемблере!) там решается задача сложения многочленов. Очень красивый и очень компактный алгоритм!
TList - к динамическим спискам не имеет отношения - это просто-напросто динамический массив указателей. А следовательно, это регулярная структура прямого доступа.
Итак, позвольте подытожить.
Динамические списки и TList - это абсолютно разные подходы к представлению данных, а также абсолютно разные подходы к организации оперативной памяти. Другими словами они несравнимы друг с другом и предназначены для совершенно разных типов задач. (Разумеется динамические списки используются только тогда, когда не нужно обращаться к i-му элементу, а только к цепочке элементов последовательно.)
За сим давайте остановимся, пока это окончательно не переросло в тривиальный флейм.
Динамические списки позволяют представлять структуры данных с последовательным доступом. Динамические списки могут быть односвязными, двусвязными, циклическими. Следующая инкарнация динамических списков - это деревья. Все эти структуры отлично заточены под огромное количество прикладных задач. Очень рекомендую по этому поводу книгу Дональда Кнута "Искусство программирования". Том 1.
Там есть удивительно изящные алгоритмы. Например, с помощью взаимно-пересекающихся списков, составленных из коэффициентов полиномов, фантастически просто (на асемблере!) там решается задача сложения многочленов. Очень красивый и очень компактный алгоритм!
TList - к динамическим спискам не имеет отношения - это просто-напросто динамический массив указателей. А следовательно, это регулярная структура прямого доступа.
Итак, позвольте подытожить.
Динамические списки и TList - это абсолютно разные подходы к представлению данных, а также абсолютно разные подходы к организации оперативной памяти. Другими словами они [b]несравнимы[/b] друг с другом и предназначены для совершенно разных типов задач. (Разумеется динамические списки используются только тогда, когда не нужно обращаться к i-му элементу, а только к цепочке элементов последовательно.)
За сим давайте остановимся, пока это окончательно не переросло в тривиальный флейм.