1、链表和数组的区别?
1)链表节点个数可动态改变,更灵活;在内存中不连续,链式结构,方便增删;
2)数组大小固定,初始化之后不可改变,在内存中连续,元素位置固定,由下标来标记元素位置;
3)数组是静态分配内存,而链表是动态分配内存;
4)数组元素在栈区,链表元素在堆区;
5)数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);
6)数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。
1、链表和数组的区别?
1)链表节点个数可动态改变,更灵活;在内存中不连续,链式结构,方便增删;
2)数组大小固定,初始化之后不可改变,在内存中连续,元素位置固定,由下标来标记元素位置;
3)数组是静态分配内存,而链表是动态分配内存;
4)数组元素在栈区,链表元素在堆区;
5)数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);
6)数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。
转载于:https://www.cnblogs.com/LideAiYaner-1wn/p/5779901.html