笔记:C#_数据结构_线性表:专精航线

简介:线性表(linear list)

码头:

副官:
船长,接下来我们上船出海,探索一下这片海域,开拓一条新航线吧!

扬帆启航码头上岸

海域等级 Lv1:浅水湾

任务:
我们在这里只需要初步了解到线性表的概念即可
一星任务:☆ 初步了解到线性表的概念
线性表
是最基本、最简单、也是最常用的一种数据结构。
优点
线性表的逻辑结构简单,便于实现和操作。
因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。
描述
一个线性表是n个 具有相同特性 的数据元素的 有限序列
举例
DNA就是由 n个 碱基 组成的 有限序列。
因此DNA就是一个典型的线性表。
DNA可以说是生命的源代码。所有生物都具备,可见它用的多普遍。

HadesNyx:既然 线性表是基本功,那就必须每天坚持练习。

返航

海域等级 Lv2:深水湾

任务:
到了这里就需要逐步识别线性表的特征了
二星任务:☆ ☆ 逐步识别线性表的特征
特征
1.集合中必存在唯一的一个 “ 第一元素”。
2.集合中必存在唯一的一个 “ 最后元素” 。
3.除最后一个元素之外,均有唯一的 后继(后件)。
4.除第一个元素之外,均有唯一的 前驱(前件)。
元素关系
线性表 体现的是数据元素之间的唯一性,连续性(如英文字母表)。
识别
我们说“线性”和“非线性”,只在 逻辑层次 上讨论,而不考虑 存储层次
所以双向链表和循环链表依旧是线性表(后面会提到)。
逻辑细分:
在数据结构逻辑层次上细分,线性表可分为一般线性表和受限线性表。
逻辑层细分s
线性表s
一般线性表s
受限线性表s
一般线性表受限线性表
也就是我们通常所说的“线性表”,
可以自由的删除或添加结点。
主要包括栈和队列,
受限表示对结点的操作受限制。
返航

海域等级 Lv3:浅海域

任务:
能来到这里说明你对线性表有比较全面的了解了,接下来就是继续深入探索。
三星任务:☆ ☆ ☆ 深入探索结构
存储结构
线性表主要有顺序表示和链式表示。
顺序表示s
链式表示s
线性表s
顺序存储结构s
链式存储结构s
顺序表示链式表示
连续:必须物理位置相邻离散:通过节点彼此通信
顺序表示
指的是用一组地址连续的存储单元依次存储线性表的数据元素,
称为线性表的 顺序存储结构顺序映像(sequential mapping)
它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,
可随机存取表中任一元素。
链式表示
指的是用一组任意的存储单元存储线性表中的数据元素,
称为线性表的 链式存储结构
它的存储单元可以是连续的,也可以是不连续的。
扩展探索:链式
在表示数据元素之间的逻辑关系时,除了存储其本身的信息之外,
还需存储一个指示其直接后继的信息(即直接后继的存储位置),
这两部分信息组成数据元素的存储映像,称为 结点(node)
它包括两个域;存储数据元素信息的域称为 数据域
存储直接后继存储位置的域称为 指针域
指针域中存储的信息称为指针或链 [1] 。
其核心区别:连续 vs 离散
顺序表示:在物理层面 必须 是连续的
链式表示:在物理层面 可以 是离散的

在实际应用中,常以栈、队列、字符串等特殊形式使用。

返航

海域等级 Lv4:深海域

任务:
目前全新的航线已经就在眼前,坚持向前。
四星任务:☆ ☆ ☆ ☆ 新航线
成员关系
线性表中数据元素之间的关系是一对一的关系,
即除了第一个和最后一个数据元素之外,
其它数据元素都是首尾相接的
注意,这句话只适用大部分线性表,而不是全部。
比如,
循环链表逻辑层次上也是一种线性表
存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点。
在稍复杂的线性表中,
一个数据元素可由多个数据项(item)组成,
此种情况下常把数据元素称为 记录(record)
含有大量记录的线性表又称 文件(file)
线性表中的个数n定义为线性表的长度,
n=0时称为空表。
在非空表中每个数据元素都有一个确定的位置,
如用ai表示数据元素,则i称为数据元素ai在线性表中的位序。
线性表的相邻元素之间存在着序偶关系。
如用(a1,…,ai-1,ai,ai+1,…,an)表示一个顺序表,则表中ai-1领先于ai,ai领先于ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,
当i=2,3,…,n时,ai有且仅有一个直接前驱 [1] 。

恭喜:新航线建立

请您运用刻意练习,开启巡航模式!
需要探索更深的海域,请关注航线的拓展。
返航
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值