Я подумал над следующим вопросом об архитектуре компьютера. Предположим, я делаю в 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:]
. Недавно я прочитал, что узким местом обычно является связь между процессором и памятью, поэтому копирование памяти может выполняться оперативной памятью довольно быстро. Как это работает?