Текущий архив: 2006.03.05;
Скачать: CL | DM;
Вниз
Динамичемкие массивы VS Динамические списки Найти похожие ветки
← →
Галинка © (2006-02-19 13:31) [0]Что стоит предпочесть, если нет конкретного задания использоать то или другое?
И где можно почитать что-нибудь прочитать про второе. Идеально было бы Файмана, или в том же духе. Чтобы попроще...
← →
Desdechado © (2006-02-19 14:59) [1]списки гибче, массивы проще
← →
tesseract © (2006-02-19 17:22) [2]Списки как правило используются вместе с массивами. Так быстрее. Лучше поискать книгу "Фундаментальные алгоритмы и типы данных на delphi". Там это всё очень подробно расписано.
← →
Галинка © (2006-02-19 17:32) [3]tesseract © (19.02.06 17:22) [2]
Насколько она просто написана?
← →
TUser © (2006-02-19 18:40) [4]Список жует дополнительную память. Он не позволяет обращаться к элементу по индексу и быстро искать. Ну там просто вставлятиь/удалять.
Массив занимает меньше памяти. Однако, необдуманое использование массивов приведет к ее дефрагментации. Можно обращаться по индексу. Можно организовать быстрый поиск.
Вот так примерно.
← →
Джо © (2006-02-19 18:43) [5]> [2] tesseract © (19.02.06 17:22)
> [3] Галинка © (19.02.06 17:32)
> Насколько она просто написана?
Написано очень неплохо. Английскую версию могу выслать по почте (в сжатом виде около 3 Мб), русский перевод можно взять здесь:
http://infostore.org/info/489045
(~ 40 Мб).
← →
Галинка © (2006-02-19 23:08) [6]Джо © (19.02.06 18:43) [5]
Спасибо.
Всем: Разобралась вроде бы. Труднова-то но удобоваримо.
Только непонятно все же зачем. Я так подозреваю, испоьзование списков оправдано если в ну очень маленькой памяти надо разместить ну очень много.
Если ограничиться, например, размером массива из 256 элементов реал-типа, то можно обойтись и массивом. К тому же и работать с ним удобнее. За их изобретение можно сказать спасибо программрам из Борланда. Облегчили жизнь ...
← →
TUser © (2006-02-19 23:13) [7]> Я так подозреваю, испоьзование списков оправдано если в ну очень маленькой памяти надо разместить ну очень много.
НАоборот, список больше памяти требует, чем массив.
> За их изобретение можно сказать спасибо программрам из Борланда.
А еще Санта-Клаусу.
← →
Галинка © (2006-02-19 23:19) [8]TUser © (19.02.06 23:13) [7]
Так списки вообще не нужны что ли? Или только в Дельфи? Или это просто пережитки "седой старины"?
А динамические массивы тоже в "куче" лежат? Или ...?
← →
Джо © (2006-02-19 23:21) [9]> [8] Галинка © (19.02.06 23:19)
> TUser © (19.02.06 23:13) [7]
>
> Так списки вообще не нужны что ли? Или только в Дельфи?
> Или это просто пережитки "седой старины"?
>
> А динамические массивы тоже в "куче" лежат? Или ...?
Или. Учиться, учиться и еще раз учиться :)
← →
Галинка © (2006-02-19 23:27) [10]Джо © (19.02.06 23:21) [9]
Так я и пытаюсь ))
Я понимаю, что все списки в Дельфи так строются. Но я пока не собираюсь писать собственные классы. И разбираться досканально тоже. В расчетах так понимаю удобнее и проще использовать массивы динамические. Или?
← →
Zeqfreed © (2006-02-19 23:35) [11][10] Галинка © (19.02.06 23:27)
Стоит хотя бы это почитать:
http://algolist.manual.ru/ds/basic/index.php
http://alglib.sources.ru/articles/struct.php
← →
Галинка © (2006-02-19 23:57) [12]Zeqfreed © (19.02.06 23:35) [11]
Спасибо. Прочитала. Но пока, извините, останусь при своем мнении. В арифметике массивы удобнее.
Ну например задачка. Запомнить члены полинома, т.е. степнь переменной и коэффициент при ней. Удобнее в массиве динамическом. Сам элемент это коэффициент, его индекс - показатель степени при нем. Вытаскивать потом тоже удобно. Особенно елс потом надо найти производную или умножить этот полином на другой )) Ну зачем тут списками голову ломать. И числа простые и искать их можно в массиве быстрее. Да и выделить под дин массив можно именно столько памяти сколько нужно
Объекты в приложении учитывать или вообще учет чего-то сложного нужно списками. Но в арифметике использование списков ИМХО "из пушки по воробьям"
← →
Defunct © (2006-02-20 01:02) [13]> Галинка
не надо предпочитать, надо использовать в комбинации, для достижения максимального эффекта.
Массивы предпочтительнее для задач произвольного поиска, но удаление элемента массива - операция весьма ресурсоемкая, когда требуется соблюдать сортировку..
Динамические списки, напротив, - практически не пригодны для задач произвольного поиска, т.к. доступ к элементам можно осуществить только последовательно, однако отличаются высокой эффективностью кода удаления произвольного элемента.
т.о. они друг друга дополняют.
← →
Галинка © (2006-02-20 01:58) [14]Defunct © (20.02.06 01:02) [13]
Я так понимаю, массивы динамические только де-юро, де-факто - они просто произвольной длины, каждой раз новой.
Списки реально динамичны, но у них немного другие задачи.
ИМХО моя математика плохо дружит со списками. Во всяком случае пока.
← →
Defunct © (2006-02-20 02:34) [15]> Я так понимаю, массивы динамические только де-юро, де-факто - они просто произвольной длины, каждой раз новой.
Очень хорошо и точно сказано.
> Списки реально динамичны, но у них немного другие задачи.
Основная задача, характерная для дин. списков, - накопление данных с произвольным размещением, и с возможностью быстрого удаления произвольных элементов. Типичная списковая задача - Cut/Copy/Paste.
← →
evvcom © (2006-02-20 08:47) [16]
> Типичная списковая задача
Очередь, стек...
Страницы: 1 вся ветка
Текущий архив: 2006.03.05;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.01 c