美文网首页
《大话数据结构》 第三章-线性表

《大话数据结构》 第三章-线性表

作者: 会飞的鱼_flyfish | 来源:发表于2018-05-21 19:17 被阅读14次

一、线性表的定义 

线性表:零个或多个数据元素的有限序列。 

这个定义主要涉及到两点: 

1、线性表是一个序列,元素之间是有顺序的。 

2、线性表的元素是有限的。

在线性表中,一个数据元素可以由若干个数据项组成。 

线性表中的数据元素必须是相同类型的。 

二、线性表的抽象数据类型

ADT 线性表(List)Data    线性表的数据对象集合为{a1,a2,......,an},每一个元素的类型为DataType。其中,除第一个元素a1外,每一个元素都只有一个前驱元素,除了最后一个元素an外,每一个元素都只有一个后继元素。数据元素之间的关系是一对一的关系.    OperationInitList(*L);      初始化操作,建立一个空的线性表L。ListEmpty(L);  若线性表为空,返回ture,否则返回flase 。CLearList(*L);  清空线性表GetElam(L,i,*e);  将线性表的第i个元素值返回给e。LocateElam(L,e); 在线性表中查找与e相等的元素。ListInsert(*L,i,e); 在线性表第i个位置插入新元素e。ListDelete(*L,i,  *e);删除线性表中第i个元素的值,并用e返回该值。ListLength(L); 返回线性表L的元素个数。

ADT 线性表(List)

Data

    线性表的数据对象集合为{a1,a2,......,an},每一个元素的类型为DataType。其中,除第一个元素a1外,每一个元素都只有一个前驱元素,除了最后一个元素an外,每一个元素都只有一个后继元素。数据元素之间的关系是一对一的关系.

    Operation

        InitList(*L);      初始化操作,建立一个空的线性表L。

        ListEmpty(L);  若线性表为空,返回ture,否则返回flase 。

        CLearList(*L);  清空线性表

        GetElam(L,i,*e);  将线性表的第i个元素值返回给e。

        LocateElam(L,e); 在线性表中查找与e相等的元素。

        ListInsert(*L,i,e); 在线性表第i个位置插入新元素e。

        ListDelete(*L,i,  *e);删除线性表中第i个元素的值,并用e返回该值。

        ListLength(L); 返回线性表L的元素个数。

endADT

上述线性表的抽线数据结构所提及的操作是最基本的。对于更复杂的操作,可以用这些基本操作的组合来实现。 

三、线性表的顺序存储结构 

线性表的顺序存储结构,指的是一段地址连续的存储单元依次存储线性表的数据元素。 

1、顺序存储方式 

在C语言中,是用线性表的一维数组来实现顺序存储结构的。 

2、数据长度与线性表的长度的区别 

数组的长度是存放线性表的存储空间的长度。 

线性表的长度是线性表中数据元素的个数,随着插入和删除操作的进行,这个量是变化的。 

在任意时刻,线性表的长度应该小于等于数组的长度。 

3、地址计算方法 

线性表是从1开始数的,数组却是从0开始第一个下标的。

存储器中每一个数据单元都有自己的编号,这个编号称为地址。 

如何计算数组中元素的地址。 

假设该数组中的元素占用的存储单元为c个,那么线性表中第i+1个数据元素的存储位置和第i个元素的存储位置满足以下的关系: 

LOC(a i+1)=LOC(a i)+c。 

第i个元素的地址可以由a1推算出。 

LOC(a i)=LOC(a 1)+(i-1)*c

相关文章

  • 数据结构Java源码分析

    参考书籍《大话数据结构》,实现参考JDK1.8 线性表: Java实现类有ArrayList,LinkedList...

  • 数据结构 -《大话数据结构》读书笔记(3)

    文章共分为三篇 第一篇:数据结构 -《大话数据结构》读书笔记(1) 一、数据结构绪论二、算法三、线性表 第二篇:数...

  • 数据结构 -《大话数据结构》读书笔记(2)

    文章共分为三篇 第一篇:数据结构 -《大话数据结构》读书笔记(1) 一、数据结构绪论二、算法三、线性表 第二篇:数...

  • 大话数据结构 - 线性表

    代码GitHub地址 线性表 线性表需要相同的数据类型 线性表的处理方式都是先取代,后目的。比如删除链式线性表的某...

  • 大话数据结构 线性表

    线性表(List):零个或多个数据元素的有限序列。 线性表的顺序存储结构: 用一段地址连续的存储单元依次存储线性表...

  • 《大话数据结构》 第三章-线性表

    一、线性表的定义 线性表:零个或多个数据元素的有限序列。 这个定义主要涉及到两点: 1、线性表是一个序列,元素之间...

  • 大话数据结构(第三章)-线性表

    tip:线性表(List):零个或多个数据元素的有限序列 存储结构:顺序存储结构:用一段地址连续的存储单元以此存储...

  • 大话数据结构之线性表

    线性表是一种最简单,最基本,也是最常用的数据结构。 线性表中的元素是一对一的关系, 也即除了首元素与尾元素外,其他...

  • 《大话数据结构》3线性表

    1.线性表:零个或是多个数据元素的有效序列。有序。有限。一对一。类型一致。 2.线性表顺序存储方式:一维数组。(三...

  • 大话数据结构-2 线性表

    定义 线性表(List):零个或多个数据元素的有限序列。 线性表的顺序存储 指的是用一段地址连续的存储单元依次存储...

网友评论

      本文标题:《大话数据结构》 第三章-线性表

      本文链接:https://www.haomeiwen.com/subject/fsmqjftx.html