逻辑结构上:
数组是申请一块连续的内存空间,并且在编译阶段确定空间大小。运行阶段不允许改变。若数据量过大的话会超出界限,造成溢出。若数据量太小,则会造成空间浪费
链表是动态申请内存空间,其大小不用事先预支,根据需要动态的申请或者删除后
物理内存上:
数组是连续一内存空间,访问数据可直接根据下标访问,时间复杂度o(1)。添加删除的操作要移动整个数组数据,时间复杂度位o(n)
链表在物理内存上不连续,对于访问数据,要遍历整个链表,而添加和删除则只需要一个指定位置的指针即可
逻辑结构上:
数组是申请一块连续的内存空间,并且在编译阶段确定空间大小。运行阶段不允许改变。若数据量过大的话会超出界限,造成溢出。若数据量太小,则会造成空间浪费
链表是动态申请内存空间,其大小不用事先预支,根据需要动态的申请或者删除后
物理内存上:
数组是连续一内存空间,访问数据可直接根据下标访问,时间复杂度o(1)。添加删除的操作要移动整个数组数据,时间复杂度位o(n)
链表在物理内存上不连续,对于访问数据,要遍历整个链表,而添加和删除则只需要一个指定位置的指针即可