В чем различие обычных и связанных списков?
Я уже достаточно много изучаю питон и при чтении книги "Грокаем алгоритмы" встретился с термином связанные списки и массивы. Сначала я подумал что первое это тоже самое что и список, а вот про массивы я загуглил, пройдя некоторое время я увидел гайд как создать связанный список. На этом моменте я сильно запутался, я долго сидел гуглил, но никакой информации об их различиях не нашел. А сейчас я сижу и не понимаю вообще что такое список, является ли он структурой данных. Объясните пожалуйста что же такое список и является ли он чем то отличным от связанного списка? я честно пытался самостоятельно разобраться...(
Ответы (2 шт):
Разница в том что это разные структуры данных для разных целей, основные отличия можно уместить в несколько предложений.
Массив, в отличие от списка используется для обращения к определенному участку памяти, а так же может хранить данные только одного типа, тогда как связный список может хранить несколько типов данных, из-за этого время на поиск нужного элемента массива затрачивается меньше O(1), тогда как перебор элементов связного списка занимает O(N).
Как понять что в Вашем коде нужно использовать, массив или же список?
Можно привести один явный пример, когда Вам нужно проводить операции например с очень большой матрицей, условно 100х100, то массивы являются незаменимой вещью, по причине которую я описывал выше (Затрата времени на поиск нужного элемента O(1))
Но когда у вас есть небольшой определенный список данных с разными элементами, то вместо того что бы использовать несколько массивов с разными типами данных, будет просто все реализовать в 1 списке
Так же стоит упомянуть то что модуль массива перед началом работы нужно импортировать, тогда как список - нет
Оказывается, а для меня это новость, что бы действительно использовать в python массивы нам потребуется библиотека - from array import *
Пример объявления реального массива:
my_array = array('i',[1,2,3,4])