数据结构之线性表

前言:
时间总是在不知不觉中过去,眼看就要出去找工作了;所以在这最后的一个多月打算把数据结构和算法学习一下,还有面试题也做一下。下面是我对数据结构中的线性表和链表写的一些笔记。



顺序表:
顺序表在内存中的存储是非连续的,非顺序的。就和数组一样。
优点:查询速度快。
缺点:插入删除速度慢。
链表:链表是为了解决线性链表的插入删除速度慢而产生的。
优点:插入删除速度快。
缺点:查询速度慢。
链表又分为三种,分别是单向链表、双向链表和循环链表。

单向链表:
每个数据单元由两个部分组成。第一部分为地址信息,用于指向下一块数据单元;第二部分为数据。
单向链表中,数据在内存中可以是不连续的。因为每一块数据单元都保存了下一块数据单元的地址,可以通过这个地址跳转过去。内存分配更加灵活,插入和删除操作变得简单。因为,插入一条新数据,只需要更改前一个数据单元的指向地址即可,然后再把所插入的数据指向下一个数据单元即可。缺点:查询困难,需要从头开始查询。使用迭代器快速迭代。因为是非共享数据,线程不安全,当在迭代时,若发生了数据改变,快速迭代会迅速失败。



双向 链表:
在理解单向链表的基础上来了解双向链表其实很简单,只需要在单链表中添加一个前置元素指针即可。
  循环链表:
将单链表中的终端节点的指针由空指针改为指向头节点的指针,是整个链表成为一个环。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值