Algorithm 插入算法的最佳方式是什么

Algorithm 插入算法的最佳方式是什么,algorithm,sorting,big-o,Algorithm,Sorting,Big O,我必须选择插入算法的最佳选择 1.在插入数据之前,我们必须搜索正确的位置 在得到那个位置后,我们通过将每个右索引(在那个想要的位置之后)踢到下一个位置来插入它 对。然后,我们可以把我的数据插入正确的位置 2.将数据放入该数组的最后一个位置,并按合并排序 我猜第一个选择需要时间O(logn)(二进制搜索),O(n)搜索正确的位置。我能否得出结论,这一切完全需要时间O(logn)+O(n) 第二个是O(nlogn)(合并排序)和O(1)(将数据放在最后一位)。再一次,我能否得出结论,这一切都需要时间

我必须选择插入算法的最佳选择

1.在插入数据之前,我们必须搜索正确的位置 在得到那个位置后,我们通过将每个右索引(在那个想要的位置之后)踢到下一个位置来插入它 对。然后,我们可以把我的数据插入正确的位置

2.将数据放入该数组的最后一个位置,并按合并排序

我猜第一个选择需要时间O(logn)(二进制搜索),O(n)搜索正确的位置。我能否得出结论,这一切完全需要时间O(logn)+O(n)

第二个是O(nlogn)(合并排序)和O(1)(将数据放在最后一位)。再一次,我能否得出结论,这一切都需要时间O(nlogn)+O(1)


如果给定的数组大小为

a、 )30

b、 )200万


哪些算法适合每种大小?

如果您已经对列表进行了排序,那么在列表中逐个插入新元素对我来说更有意义。
如果你有一个数组。有必要采用另一种方法。

在添加大O符号元素时,只需扔掉较小的元素即可。O(logn)+O(n)与O(n)相同,O(nlogn)+O(1)与O(nlogn)相同。一旦n变得足够大,较小的项在比较中就变得无关紧要了。