顺序表和单链表的比较

          通过了对第二章的学习,我知道了线性表存储数据时主要通过顺序表存储结构和链接存储结构。而链接存储结构又以单链表为代表。下面我就说一下我通过老师的讲解和书本上的知识说明一下我理解中的顺序表和单链表。

     首先是顺序表。顺序表是用一段地址连续的存储单元一次存储线性表的数据元素。顺序表是用一堆数组来实现的,也可以利用类似于数组的形式访问,即通过下标访问。定义的时候是一次申请N个连续的空间,不管最后存放的数据是多少,都占用计算机内存的N个单位。所以定义的时候要注意线性表的数组空间长度。顺序表的空间分配方式属于静态分配。由于顺序表的特性,所以在每一次插入和删除中都会移动近一半的结点。如果当每个结点的信息数据很大的时候就会花费很多的时间。但是当需要查找数据时顺序表就会因随机存储结构而对表中的任意结点都可在O(1)时间内直接取得。

然后是单链表。单链表是用一组任意的存储单元存放线性表的元素。这组存储单元可以使连续的和不连续的,也可以零散嘚分布在内存中的任意位置。单链表的结点分为数据域和指针域。数据域用来存放数据,指针域用来存放该结点的后继结点的指针。链表通过每个结点的指针域将线性表的n个结点按其逻辑顺序链接在一起。因为单链表中每个结点的存储地址是存放在其前趋结点next域中,而开始结点无前趋,故应设头指针first指针指向开始结点。链表由头指针唯一确定,单链表可以用头指针的名字来命名。单链表是顺序存储结构,所以当要查找某一结点时需要扫描整个链表。平均时间性能为O(n)。单链表的优点在于动态分配内存空间。用户需要多少空间就申请多少空间。当单链表在链表上任意位置进行插入或者删除操作时只需要修改指针就可以了。

综上所述。当线性表长度变化较大,难以估算存储空间时,采用单链表存储结构较好。当线性表需要进行较多的查询操作时,采用顺序表结构较好。当线性表需要进行较多插入或者删除操作时,采用单链表存储结构较好。

以上是我对顺序表和单链表的理解。有何不对的地方还请老师多多指教。

    

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值