数组中的插入应该和链表中的插入一样快吗?

问题描述 投票:0回答:1

我正在使用一个数组和另一个使用链表的二进制搜索树实现。输入的是10 ^ 6个键,并且两种实现都花费相同的时间来插入键。因为创建了10 ^ 6个新对象,所以链接列表不应该花更多时间,而在数组中,我不创建新对象,而是插入。

我不需要代码方面的帮助。

java binary-search-tree
1个回答
-1
投票

我总是从复杂性角度考虑它。

具有排序数组的二进制搜索的复杂度为O(log N)

具有排序的单个链表的二进制搜索的复杂度为O(N)

二进制搜索对于数组通常是快速而有效的,因为访问两个给定索引之间的中间索引既简单又快速(O(1))。但是,单链接列表的内存分配是动态且不连续的,这使得查找中间元素变得困难。一种方法是使用跳过列表,一种方法是使用一个指针遍历链接列表。

您是否使用单个链接列表?

© www.soinside.com 2019 - 2024. All rights reserved.