数据结构之线性表
2017-06-13 09:03
169 查看
前言:
时间总是在不知不觉中过去,眼看就要出去找工作了;所以在这最后的一个多月打算把数据结构和算法学习一下,还有面试题也做一下。下面是我对数据结构中的线性表和链表写的一些笔记。顺序表:
[b]顺序表在内存中的存储是非连续的,非顺序的。就和数组一样。[/b]
优点:查询速度快。
缺点:插入删除速度慢。
链表:链表是为了解决线性链表的插入删除速度慢而产生的。
优点:插入删除速度快。
缺点:查询速度慢。
链表又分为三种,分别是单向链表、双向链表和循环链表。
单向链表:
每个数据单元由两个部分组成。第一部分为地址信息,用于指向下一块数据单元;第二部分为数据。
单向链表中,数据在内存中可以是不连续的。因为每一块数据单元都保存了下一块数据单元的地址,可以通过这个地址跳转过去。内存分配更加灵活,插入和删除操作变得简单。因为,插入一条新数据,只需要更改前一个数据单元的指向地址即可,然后再把所插入的数据指向下一个数据单元即可。缺点:查询困难,需要从头开始查询。使用迭代器快速迭代。因为是非共享数据,线程不安全,当在迭代时,若发生了数据改变,快速迭代会迅速失败。
双向链表:
在理解单向链表的基础上来了解双向链表其实很简单,只需要在单链表中添加一个前置元素指针即可。
循环链表:
将单链表中的终端节点的指针由空指针改为指向头节点的指针,是整个链表成为一个环。
相关文章推荐
- [原创]数据结构学习笔记之线性表
- C语言 数据结构 线性表的顺序表示
- 数据结构(C#语言版)——线性表
- 数据结构之线性结构(单链表)【二】
- 数据结构之线性结构(顺序表)【一】
- 数据结构之:线性表的顺序表示和实现
- 数据结构之线性结构(链栈)【七】
- 数据结构—线性表的链式表示和实现
- 数据结构之线性表顺序存储的常用操作(转载)
- 数据结构之线性结构(双链表)【四】
- 数据结构之线性表
- 数据结构笔记3 线性表的链式表示
- 数据结构笔记3 线性表的链式表示
- 数据结构严版学习之线性表
- 数据结构之线性表
- 数据结构之线性表
- C#数据结构(一)----线性表
- 线性链表---数据结构
- 数据结构之线性结构(一,表结构)
- 数据结构之线性结构(顺序栈)【六】