Является ли добавление элементов в динамический массив быстрее, чем добавление элементов в дважды связанный список в оснJAVA

Программисты JAVA общаются здесь
Anonymous
Является ли добавление элементов в динамический массив быстрее, чем добавление элементов в дважды связанный список в осн

Сообщение Anonymous »

Как известно, динамический массив в конечном итоге должен быть изменен, когда пропускная способность превышает, и емкость неоднократно превышает, поскольку мы продолжаем добавлять новые элементы (добавляя, я имею в виду добавление к концу). Эта операция, в зависимости от количества элементов, теоретически может быть очень дорогой - представьте себе копирование 100 000 000 элементов в недавно распределенный массив. Это), все равно намного быстрее, чем добавление того же количества элементов в дважды связанный список. По крайней мере, всегда было сказано, что это будет намного быстрее в двухсторонних списках. Это больше не так. < /P>
Так почему именно это происходит? Я предполагаю, что современные процессоры стали намного лучше при копировании больших объемов данных. Копирование больших объемов данных очень быстро достаточно, чтобы превзойти связанный список. Кроме того, добавление нового элемента связанного списка, a.k.a. Узел, потребляет гораздо больше памяти, не только потому, что каждый элемент в более тяжелом (примерно 5-кратном более тяжелом), но также и количество записей также больше (4-5 записей) на элемент + распределение, которое происходит при каждой новой вставке элементов.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -doubly-li

Вернуться в «JAVA»