发布网友 发布时间:2022-03-23 22:29
共2个回答
懂视网 时间:2022-03-24 02:51
数组和链表的区别如下:
1、数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。最大的特点就是支持随机访问,但插入、删除操作也因此变得比较低效,平均情况时间复杂度为O(n)。在平时的业务开发中,我们可以直接使用编程语言提供的容器类,但是,如果是特别底层的开发,直接使用数组可能会更合适。
2、链表它并不需要一块连续的内存空间,它通过“指针”将一组零散的内存,空间可扩容,比较常用的是单链表,双链表和循环链表。和数组相比,链表更适合插入、删除操作频繁的场景,查询的时间复杂度较高。不过,在具体软件开发中,要对数组和链表的各种性能进行对比,综合来选择使用两者中的哪一个。
热心网友 时间:2022-03-23 23:59
1、内存不同
数组静态分配内存,链表动态分配内存。
2、连续情况不同
数组在内存中连续,链表不连续。
3、元素位置不同
数组元素在栈区,链表元素在堆区。
4、复杂度不同
数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。