顺序表与数组的区别和联系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序表与数组的区别和联系相关的知识,希望对你有一定的参考价值。

顺序表是在计算机内存中以数组的形式保存的线性表。

顺序表是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表,顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。线性表采用指针链接的方式存储就称之为链表。

线性表是从逻辑结构的角度来说的,除了头和尾之外,它的每一个元素都只有一个前驱元素和一个后驱元素。各种队列(单向、双向、循环队列),栈等都是线性表的不同例子。

而数组是从物理存贮的角度来说的,线性表可以用数组存贮也可以用链表来存贮。同样的队列和栈也可以用数组和链表存贮,各有利弊。具体使用时,根据具体情况选择。 

所以说,数组是一个更大的概念。使用数组,不但可以存储线性表,也可存储非线性结构的数据结构。比如堆、完全二叉树、乃至于其它类型的树、图等。

总结:

顺序表与数组都是数据结构,只是描述角度不同。顺序表是从逻辑结构的角度来说的,它的每一个元素都只有一个前驱元素和一个后驱元素除了头和尾,逻辑结构还有队列,堆栈,树,图等。而数组是从物理存贮的角度来说的,顺序表用数组存贮也可以用链表来存贮。同样的队列也可以用数组和链表存贮,各有利弊。具体使用时,根据具体情况选择。

以上是关于顺序表与数组的区别和联系的主要内容,如果未能解决你的问题,请参考以下文章

双向链表的实现(双向链表与单向链表的简单区别联系和实现)

FIB表与RIB表的区别与联系

ArrayList(顺序表)和LinkedList(链表)的区别联系,优劣取舍问题

list和set的区别和联系

数据结构 顺序表与链表 四部曲总汇

Golang中数组和切片的区别与联系