什么是向已排序的numpy数组中快速插入值的最快方式?
例如,我想将b的每个值插入到a中的正确位置:
例如,我想将b的每个值插入到a中的正确位置:
a = [1,1,2,4,7,7,11,13,13,13,15,20,25,26,27,30,45,70]
b = [5,7,9,45]
我尝试了通过对每个b
的值循环遍历a
来插入数据,还尝试使用bisect_left
方法:
for i in b:
a.insert(bisect_left(a,i),i)
我需要处理数十万个数据元素,所以这两种方法都太慢了。
有什么好的想法吗?
O(log n)
,而不是O(n)
。 - Hunter McMillenb
已经排序,则可以使用归并排序的 合并 部分:合并已排序数组的算法。 - Ashwini Chaudhary