标签:无法 块大小 log 包含 span 范围 blog 积累 需要
一个热爱技术的菜鸟...用点滴的积累铸就明日的达人
正文
线性表,从名字上就能感觉到,是具有像线一样的性质的表。可以如下定义:线性表是由零个或多个数据元素组成的有限序列,其中,若将表中元素记为:(a1,···,ai-1,ai,ai+1,···,an),则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后驱元素。线性表元素的个数n定义为线性表的长度,当n=0时,称为空表。
存储结构
在了解了线性表的定义之后,就需要了解一下线性表的存储结构,其中线性表的存储结构分为两类:顺序存储,链式存储
顺序存储
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。线性表(a1,···,ai-1,ai,ai+1,···,an)的顺序存储示意图如下:
顺序存储方式下的线性表,其实就是在内存中找了块地,通过占位的形式,把这块空间给占据了,然后通过把相同数据类型的数据元素依次存放到这个空地中。我们仔细研究一下顺序存储方式的结构,不难发现描述线性表顺序存储结构需要三个属性:
链式存储
在讨论链式存储之前,先来介绍一个概念--结点。结点是由一个元素以及它后驱元素的地址所组成的结构,当前结点的后驱元素位置也叫做指针域,可以通过结点中的后驱元素地址很容易找到当前元素的后驱元素。有了结点的概念之后,就很容易的定义线性表的链式存储结构了:由零个或多个结点构成的逻辑上的线性结构被称为线性表的链式存储结构。线性表(a1,···,ai-1,ai,ai+1,···,an)的链式存储示意图如下:
链式存储方式下的线性表,其实就是在存储器中开辟了很多小空间,用于存放结点,最后通过这些结点来组成逻辑上的线性结构。通过将第一个结点的存储位置叫做头指针,最后一个结点的存储位置叫做尾指针,上图由于每个结点只包含一个指针域,因此又可以称为单链表。
顺序存储与链式存储的比较
查找
插入
删除
综上所述,可以看出顺序存储在查找方面相对于链式存储要方便的多,但是在插入和删除方面性能较链式存储差。同时顺序存储需要一开始指定一块大小确定的区域(因此会收到区域大小的影响),而链式存储则不需要。
特殊的线性表
标签:无法 块大小 log 包含 span 范围 blog 积累 需要
原文地址:http://www.cnblogs.com/sachen/p/6754346.html