在python中搜索未排序的元素列表

2024-04-20 03:55:53 发布

您现在位置:Python中文网/ 问答频道 /正文

除了二进制搜索,我们还有其他比较次数较少的算法吗。 进一步的二进制搜索将在已排序的列表上工作。如果元素未排序怎么办

如果元素数(=n)是一个大数字。如果我选择对其进行排序,然后对其进行二进制搜索,那么运行时间就会很长

还有其他选择吗


Tags: 算法元素列表排序时间二进制数字次数
1条回答
网友
1楼 · 发布于 2024-04-20 03:55:53

排序的代价是O(n*log(n)),如果使用Timsort,Python的默认排序算法,那么排序的代价就是O(n*log(n)),因此只有在执行多次搜索且数组中没有新元素时才值得排序,因为您必须重新排序,这代价是O(n)

另一方面,由于您必须单独查看每个值,我认为没有更好的方法,除非您使用并行编程,这样多个线程可以同时查看不同的值

相关问题 更多 >