张无忌当年究竟对她做了什么?走进爱恨情仇,探究他与她之间的瓜葛!

本文深入探讨了线性表的逻辑结构与两种存储方式——顺序存储和链式存储。顺序存储利用数组实现,便于随机访问但可能造成空间浪费;链式存储通过指针链接元素,动态分配空间但访问速度较慢。同时,文章对比了两者在插入、删除操作上的效率,并介绍了线性表在实际应用中的场景,如有序表的合并。
摘要由CSDN通过智能技术生成

  他心中三分伤感、三分留恋、又有三分宽慰,望着她的背影消失在黑暗之中。他知道殷离这一生,永远会记着蝴蝶谷中那个一身狠劲的少年,她是要去找寻他。她自然找不到,但也可以说,她早已寻到了,因为那个少年早就藏在她的心底。张无忌心头忽然涌起三句话来:“生死修短,岂能强求?予恶乎知悦生之非惑邪?予恶乎知恶死之非弱丧而不知归者邪?予恶乎知夫死者不悔其始之蕲生乎?”
在这里插入图片描述

前言

  线性结构的基本特点是除第一个元素无直接前驱,最后一个元素无直接后继之外,其他每个数据元素都有一个前驱和后继,线性表是最基本最常用的一种线性结构,同时也是其他数据结构的基础,尤其是单链表,是贯穿整个数据结构课程的基本技术,因此,接下来和博主一起走进线性表的逻辑结构,存储结构,以及它的相关运算,将为大家梳理一下它的思维导图,欢迎大家查漏补缺!

定义和特点

	A.定义:
		用数据元素的有限序列表示
			(a1, a2, … ai-1,ai,  ai+1 ,…, an)
	B.特点:
		对于非空的线性表或线性结构
			存在唯一的一个被称作"第一个"的数据元素
			存在唯一的一个被称作"最后一个"的数据元素
			除第一个之外,结构中每一个数据元素均只有一个前驱
			除最后一个之外,结构中的每一个数据元素均只有一个后继

类型定义

	1).数据对象
	2).数据关系
	3).线性表的重要基本操作
		1.  初始化
		2.  取值
		3.  查找
		4.  插入
		5.  删除

线性表的顺序表示和实现

	A.概念:
		顺序存储定义
			把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构
		顺序存储方法
			用一组地址连续的存储单元依次存储线性表的元素,可通过数组V[n]来实现
	B.特点:
		(1)利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系,即线性表的逻辑结构与存储结构一致

		(2)在访问线性表时,可以快速地计算出任何一个数据元素的存储地址。因此可以粗略地认为,访问每个元素所花时间相等

  线性表优缺点:
在这里插入图片描述

线性表的链式表示和实现

	A.概念:
		线性表的链式表示又称为非顺序映像或链式映像
	B.特点:
		(1)结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻

		(2)访问时只能通过头指针进入链表,并通过每个结点的指针域向后扫描其余结点,
		所以寻找第一个结点和最后一个结点所花费的时间不等

  相关术语:

		1.结点
			数据元素的存储映像。由数据域和指针域两部分组成
		2.链表
			n 个结点由指针链组成一个链表。它是线性表的链式存储映像,称为线性表的链式存储结构
		3.单链表
			结点只有一个指针域的链表,称为单链表或线性链表
		4.双链表
			有两个指针域的链表,称为双链表
		5.循环链表
			首尾相接的链表称为循环链表
		6.头指针
			是指向链表中第一个结点的指针
		7.首元结点
			是指链表中存储第一个数据元素a1的结点
		7.头结点
			是在链表的首元结点之前附设的一个结点;数据域内只放空表标志和表长等信息

  链表中设置头结点作用:
    ⒈便于首元结点的处理
    ⒉便于空表和非空表的统一处理

  线性表的链式的优缺点:
在这里插入图片描述

  类型:
     单链表
     循环链表
     双向链表

顺序表和链表的比较

	A.空间性能的比较
		1.存储空间
			顺序表:
				预先分配,会导致空间闲置或溢出现象
			链表:
				动态分配,不会出现存储空间闲置或溢出现象
		2.存储密度
			顺序表:
				不用为表示结点间的逻辑关系而增加额外的存储开销,存储密度等于1
			链表:
				需要借助指针来体现元素间的逻辑关系,存储密度小于1
	B.时间性能的比较
		1.存取元素
			顺序表:
				随机存取,按位置访问元素的时间复杂度为O(1)
			链表:
				顺序存取,按位置访问元素时间复杂度为O(n)
		2.插入、删除
			顺序表:
				平均移动约表中一半元素,时间复杂度为O(n)
			链表:
				不需移动元素,确定插入、删除位置后,时间复杂度为O(1)

线性表的应用

	A.线性表的合并
	B.有序表的合并:
		要求:
			1.将这两个有序链表合并成一个有序的单链表。
			2.要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。
			3.表中允许有重复的数据。

总结

  葵花宝典秘籍,掌握顺序表和链式表的查找、插入和删除算法、链表的创建算法,并能够设计出线性表应用的常用算法,比如线性表的合并,能够从时间复杂度与空间复杂度的角度比较两种存储结构的不同特点以及其适用场合,明确优缺点。
在这里插入图片描述

评论 52
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铅华殿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值