Size: a a a

Сообщество Python Программистов

2020 November 29

IK

Ilyosiddin Kalandar in Сообщество Python Программистов
Vadim
А почему в питоне добавление в конец списка за О(1), добавить элемент начало за О(n)?
Потому что по любому надо будет сдвигать все вправо
источник

V

Vadim in Сообщество Python Программистов
Значит 1 указатель на начало?
источник

IK

Ilyosiddin Kalandar in Сообщество Python Программистов
Vadim
Значит 1 указатель на начало?
Чо
источник

IK

Ilyosiddin Kalandar in Сообщество Python Программистов
Ilyosiddin Kalandar
Потому что по любому надо будет сдвигать все вправо
Хотя и добавление в список иногда может быть также медленным
источник

A

Aleksandr in Сообщество Python Программистов
Vadim
А почему в питоне добавление в конец списка за О(1), добавить элемент начало за О(n)?
О(1) - это время, О(n) -  зависит от кол-ва элементов в списке
источник

IK

Ilyosiddin Kalandar in Сообщество Python Программистов
Когда запас кончается
источник

V

Vadim in Сообщество Python Программистов
Можно 2 указателя использовать, на начало и конец
источник

V

Vadim in Сообщество Python Программистов
Я знаю про О большое
источник

A

Aleksandr in Сообщество Python Программистов
по умолчанию в конец списка добавление идет и программе не нужно проходить весь список, чтобы добавить элемент
источник

A

Aleksandr in Сообщество Python Программистов
при раскладе когда в начало добавляешь, считай, что у всех элементов индекс меняется на +1
источник

V

Vadim in Сообщество Python Программистов
А где гарантия что следующие элементы памяти не забиты? Механизм резервации памяти значит присутствует
источник

A

Aleksandr in Сообщество Python Программистов
автоматическое расширение иде
источник

V

Vadim in Сообщество Python Программистов
Можно длину менять и среднею точку
источник

IK

Ilyosiddin Kalandar in Сообщество Python Программистов
Vadim
А где гарантия что следующие элементы памяти не забиты? Механизм резервации памяти значит присутствует
Если запас кончается происходит realloc
источник

V

Vadim in Сообщество Python Программистов
То есть питон выделяет сразу  размер до пересчета памяти? А когда кончилась выделяет ещё остравок памяти?
источник

A

Aleksandr in Сообщество Python Программистов
ну типа да, зачем для 1-2 файлов выделять большой объем памяти сразу?)
источник

V

Vadim in Сообщество Python Программистов
да это я о том, что можно просто сразу выделить 2 остравка для положительных индексов и отрицательных. То есть кончились положительные, значит добавить место положительному индексу. Кончились отрицательные, добавить им тоже остравок
источник

V

Vadim in Сообщество Python Программистов
Это позволит за О(1) в обе стороны
источник

A

Aleksandr in Сообщество Python Программистов
ниче не понял
источник

V

Vadim in Сообщество Python Программистов
А все же, список это стек?
источник