Я подумал о следующем вопросе об компьютерной архитектуре. Предположим, что я делаю в Python
from bisect import bisect
index = bisect(x, a) # O(log n) (also, shouldn't it be a standard list function?)
x.insert(index, a) # O(1) + memcpy()
который принимает log n
, плюс, если я правильно понимаю, операцию копирования памяти для x[index:]
. Теперь я недавно прочитал, что узкое место обычно находится в связи между процессором и памятью, поэтому копия памяти может быть выполнена оперативной памятью довольно быстро. Как это работает?