数据结构之线性表

本文是coursera的课程(数据结构基础)的学习笔记:https://www.coursera.org/learn/shuju-jiegou-suanfa

线性表的概念

  • 线性表简称表,是零或多个元素的有穷序列,通常可以表示成K1,K2,…….,Kn(n>=1) 

    • 表目:线性表中元素(可包含多个数据项,记录)

    • 索引(下标):i称为表目k1的“索引”或“下标”

    • 表的长度:线性表中所含元素的个数n

    • 空表:长度为零的线性表(n=0)

  • 线性表特点 

    • 操作灵活,其长度可以增长、缩短

线性结构

  • 二元组B=(K,R),K={a0,a1,….,a(n-1)} R={r} 

    • 有一个唯一的开始结点,它没有前驱,有一个唯一的直接后继

    • 一个唯一的终止结点,它有一个唯一的直接前驱,而没有后继

    • 其它的结点皆称为内部结点,每一个内部结点都有且仅有一个唯一的直接前驱,也有一个唯一的直接后继。f0daf501085f590a2d231a52c6deb3a2.png

    • 前驱/后继关系r,具有反对称性传递性 
      0de27a7ff3ba73321b2f6b907bb156cc.png

  • 特点

    • 均匀性:虽然不同线性表的数据元素可以是各种各样的,但对于同一线性表的各数据元素必定具有相同的数据类型长度

    • 有序性:各数据元素在线性表中都有自己的位置,且数据元素之间的相对位置线性

线性结构——分类

  • 按复杂长度划分 

    • 简单的:线性表、栈、队列、散列表

    • 高级的:广义表、多维数组、文件……

  • 按访问方式划分 

    • 直接访问型

    • 搜索访问型

    • 目录索引型 
      17e7fee0c9ba5b8380efd7d9a0387baf.jpeg

  • 按操作划分 

    • 插入操作在表的一端删除操作在另一端

    • 插入和删除操作都限制在表的同一端进行

    • 所有表目都是同一类型结点的线性表

    • 不限制操作形式

    • 根据存储的不同分为:顺序表,链表

    • 线性表 

    • 栈(LIFO) 

    • 队列(FIFO) 

2.1 线性表

  • 三个方面 

    • 线性表的逻辑结构

    • 线性表的存储结构

    • 线性表运算

2.1.1 线性表逻辑结构

  • 主要属性包括 

    • 线性表的长度

    • 表头(head)

    • 表尾(tail)

    • 当前位置(current position)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值