zoukankan      html  css  js  c++  java
  • 线性表

    
    

    数学模型为线性结构,其中的数据元素存在一对一的关系:

      存在唯一的被称为“第一个”的数据元素;

      存在唯一的被称为“最后一个”的数据元素;

      除第一个之外,集合中的每个数据元素有唯一的直接前驱;

      除最后一个之外,集合中的每个数据元素有唯一的直接后继。

     线性表、栈、队列等是线性结构 

    线性表的定义:

    线性表:是n(n≥0)个数据元素的有限序列,记作 List=(a1,a2,......,an), n为表长,n=0时为空表; n>0 时为非空表,满足以下条件:

    1 ai (1≤i≤n-1)有唯一的直接后继ai+1 ai (2≤i≤n)有唯一的直接前驱ai-1

    2 有唯一的被称为“第一个”的数据元素a1,和唯一 被称为“最后一个”的数据元素an

    3  a1到an的性质完全相同,属同一数据对象

     数据元素在线性表中的位置取决于它自身的序号 

    线性表抽象数据类型定义

    ADT List{ // List是为线性表抽象数据类型起的名字
    数据对象: D={ai: ai 属于ElemSet;1<=i <=n;n>=0} 数据关系: R={<ai, ai+1>: ai, ai+1 属于 D, 1<=i <=n-1} 基本操作:

    InitList(&L)

    初始条件:表L不存在 操作结果:构造一个空的线性表

    DestroyList(&L)

    初始条件:线性表L存在

    操作结果:销毁线性表L ClearList(&L)

    初始条件:线性表L存在 操作结果:将线性表L置为空表

    ListEmpty(L)

    初始条件:线性表L存在。 操作结果:若L为空,则返回TRUE;否则

    返回FALSE。 GetElem(L,i, &e)

    初始条件:表L存在且1 <=i <=List Length(L)

    操作结果:返回线性表L中的第i个元素的值 List Length (L)

    初始条件:表L存在 操作结果:返回线性表中的所含元素的个数 ......

    }ADT List 

    若实现了线性表的抽象数据类型定义,那么可 以定义该类型的变量,并调用其包含的基本操作,例如:

     List L;

     GetElem(L,5, &e); printf(“%f”,e);

     实现了线性表的抽象数据类型定义(1)解决存储(2)实现操作 

    线性表的顺序表示和实现:

     线性表顺序存储结构是用一组地址连续的存储单元依次存储线性表的数据元素

     以顺序存储结构存放的线性表称为顺序表 

    方法一静态数组实现:



  • 相关阅读:
    微信小程序配置域名的时候提示“校验文件验证失败”
    微信小程序封装mixins方法
    nuxt中报window is not defined
    nuxt中iview按需加载配置
    nuxt 项目安装及环境配置
    使用指针遍历图像
    图像添加噪声(椒盐噪声)
    Java中基本知识梳理【定时器实现多线程】-----2015年3月15日
    Java基础知识---【静态成员,封装性,包】------2015年3月6日
    Java中基本知识梳理【基本变量的处理】-----2015年3月6日
  • 原文地址:https://www.cnblogs.com/vincentqliu/p/linear_table.html
Copyright © 2011-2022 走看看