线性表

     1.数组描述的链表,即称为静态链表,元素为一般定义为含游标的结构体。优点:增删元素时,仅需要改变游标,保留了链表的优点;缺点则失去顺序表的随机读取特点。不便于Java使用(不含指针)。

     2.顺序表是一种随机存储结构,即随机访问任意元素的时间均为O(1)。分为两种,一种为使用数组静态分配内存的静态顺序表,一种是用malloc和remalloc动态分配存储空间的的动态表。顺表表插入和删除数据元素的时间复杂度为O(n),其中,平均移动数据长度为表长的一般。

     3.虽然单链表中插入和删除的时间复杂度和顺序表相同,但是差常数倍。前者的时间复杂度仅仅是由元素比较(定为时决定),而后者还涉及到堆中的数据移动,在数据元素占据大的存储空间时。单链表的其它操作的时间复杂度均为O(n)。

     4.双向链表存储密度更加低。插入和删除操作更加复杂(也是O(n))。但由于双向链表的对称性,在对前节点进行操作的时候具有优势。

     5.链表逻辑相邻的元素物理不一定相邻。

     6.若线性表需要大量的查找元素,顺序表方便;若频繁增删,则链表方便。元素个数未知或者元素数目变化大,链表方便;事先预知存储大小,顺序表方便。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值