Раздел 45 · Python backend: Тарбадель

Массив, связный список, стопка, очередь и куча

middle~30 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

К вечеру у матов собирается очередь. Новичков ставят в конец, тех, кто вернулся после перерыва, обратно в начало, а снимают людей то с начала, когда освободился мат, то с конца, когда кто-то устал ждать и ушёл. Квот вызвался вести очередь и хранит её списком: insert(0, ...) для вернувшихся, pop(0) для того, кто выходит на мат. Пока в очереди двадцать человек, всё летает.

Ответ лежит в уроке про сложность: список это один кусок памяти, ссылки стоят подряд. Добавить в конец дёшево, там есть запас. А чтобы вставить в начало, надо сдвинуть на одно место все остальные ссылки. И снять первого значит снова сдвинуть всех.

Форма хранения решает, какие операции дешёвые. Сегодня ты разберёшь пять форм, на которых стоят почти все остальные: массив, связный список, стопку, очередь и кучу. Для каждой важно не «как она устроена», а «что в ней стоит один шаг, а что n».

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.