2024-04-20 03:55:53 发布
网友
除了二进制搜索,我们还有其他比较次数较少的算法吗。 进一步的二进制搜索将在已排序的列表上工作。如果元素未排序怎么办
如果元素数(=n)是一个大数字。如果我选择对其进行排序,然后对其进行二进制搜索,那么运行时间就会很长
还有其他选择吗
排序的代价是O(n*log(n)),如果使用Timsort,Python的默认排序算法,那么排序的代价就是O(n*log(n)),因此只有在执行多次搜索且数组中没有新元素时才值得排序,因为您必须重新排序,这代价是O(n)
另一方面,由于您必须单独查看每个值,我认为没有更好的方法,除非您使用并行编程,这样多个线程可以同时查看不同的值
排序的代价是O(n*log(n)),如果使用Timsort,Python的默认排序算法,那么排序的代价就是O(n*log(n)),因此只有在执行多次搜索且数组中没有新元素时才值得排序,因为您必须重新排序,这代价是O(n)
另一方面,由于您必须单独查看每个值,我认为没有更好的方法,除非您使用并行编程,这样多个线程可以同时查看不同的值
相关问题 更多 >
编程相关推荐