В чем различие обычных и связанных списков?

Я уже достаточно много изучаю питон и при чтении книги "Грокаем алгоритмы" встретился с термином связанные списки и массивы. Сначала я подумал что первое это тоже самое что и список, а вот про массивы я загуглил, пройдя некоторое время я увидел гайд как создать связанный список. На этом моменте я сильно запутался, я долго сидел гуглил, но никакой информации об их различиях не нашел. А сейчас я сижу и не понимаю вообще что такое список, является ли он структурой данных. Объясните пожалуйста что же такое список и является ли он чем то отличным от связанного списка? я честно пытался самостоятельно разобраться...(


Ответы (2 шт):

Автор решения: Константин Николаевич Бояр II

Разница в том что это разные структуры данных для разных целей, основные отличия можно уместить в несколько предложений.

Массив, в отличие от списка используется для обращения к определенному участку памяти, а так же может хранить данные только одного типа, тогда как связный список может хранить несколько типов данных, из-за этого время на поиск нужного элемента массива затрачивается меньше O(1), тогда как перебор элементов связного списка занимает O(N).

Как понять что в Вашем коде нужно использовать, массив или же список?

Можно привести один явный пример, когда Вам нужно проводить операции например с очень большой матрицей, условно 100х100, то массивы являются незаменимой вещью, по причине которую я описывал выше (Затрата времени на поиск нужного элемента O(1))

Но когда у вас есть небольшой определенный список данных с разными элементами, то вместо того что бы использовать несколько массивов с разными типами данных, будет просто все реализовать в 1 списке

Так же стоит упомянуть то что модуль массива перед началом работы нужно импортировать, тогда как список - нет

→ Ссылка
Автор решения: tomato-magnet-regulato

Оказывается, а для меня это новость, что бы действительно использовать в python массивы нам потребуется библиотека - from array import *

Пример объявления реального массива:

my_array = array('i',[1,2,3,4])
→ Ссылка