首页 > 试题广场 >

在以下哪个操作中, 数组比链表更快?

[单选题]
在以下哪个操作中, 数组比链表更快?
  • 原地逆序
  • 头部插入
  • 返回头节点
  • 返回随机节点
D
果断随机节点,指哪打哪。
发表于 2015-02-05 16:45:25 回复(4)
A.原地逆序如果是双向链表会比数组快 B.头部插入,链表只需要操作一个指针插入即可,数组需要一个一个挪 C.返回头节点,评论说是一样快,所以要看更快不行 D.数组返回比链表一个个快,给个下标就行,数组是连续存储,一次性分配很多内存空间,非常好找 链表因为元素不连续,而是靠指针指向下一个元素的位置,所以不存在数组的扩容问题;如果知道某一元素的前驱和后驱,操作指针即可删除该元素或者插入新元素,时间复杂度O(1)。但是正因为存储空间不连续,你无法根据一个索引算出对应元素的地址,所以不能随机访问;而且由于每个元素必须存储指向前后元素位置的指针,会消耗相对更多的储存空间。
发表于 2022-07-08 19:52:51 回复(2)
数组的优点,查找O(1)
发表于 2016-05-11 22:57:33 回复(0)
原地逆序也比链表快吧
发表于 2015-10-08 14:32:37 回复(5)
Ack头像 Ack
我的了理解,原地逆序也可以的。应该是AD
发表于 2016-04-22 14:55:10 回复(2)
数组给定下标能够直接寻址,指哪儿就是哪儿
发表于 2015-09-17 16:19:01 回复(0)
数组查询快
发表于 2020-09-08 16:16:54 回复(0)
原地逆序链表应该也可以吧,链表最快的是O(n),数组可以O(n/2),不过如果从时间复杂度来说就是一样的了
发表于 2018-03-14 21:39:03 回复(0)
C选项应该是链表和数组访问头结点,速度一样快
发表于 2017-09-11 16:10:10 回复(0)
D
给下标直接寻址
发表于 2015-02-07 00:00:06 回复(0)
数组头部插入需要移动每一个元素
发表于 2020-08-17 07:57:28 回复(0)
我觉得这一题应该加个时间复杂度的前提,不然原地逆序数组要比链表快的
发表于 2020-07-16 14:13:09 回复(1)
定向思维就把链表当做成为了单链表,如果是单链表的话,逆序肯定是比不上数组的;当时如果是双向列表来进行逆序,时间复杂度就是一样的。D选项,返回随机节点,难道是给定一个随机数,然后返回对应的节点,如果是这样的话,那么数组确实要比链表快了,当时的第一想法还是以为给定的是地址,那么数组和链表的效率应该是一样的。
发表于 2022-10-13 00:28:24 回复(0)
数组的优点,查询快
发表于 2022-09-14 19:21:36 回复(0)
数组,查找快,指哪打哪
发表于 2020-07-07 18:10:37 回复(0)
数组的优点,就是查找O(1)
发表于 2020-03-25 09:46:06 回复(0)

数组:指哪打哪

发表于 2019-12-15 20:31:05 回复(0)
主要是题目中有个更吧,不然感觉a也可以
发表于 2017-06-23 15:09:20 回复(0)
哎哟看到a就选了,想想的话,双向链表头尾指针操作也能on。。。
发表于 2017-02-17 08:46:14 回复(0)
原地逆序肯定快吧,少了一半操作啊。。。
发表于 2016-08-29 13:15:34 回复(0)