- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据构造部分(线性表、树、图)
第八章 数据结构
数据结构概要
1.数据结构定义:
指数据元素的集合及元素之间的关系及构造方法,可以用二元组表示为:B=(A,R),其中A是数据元素的非空有限集合,R是定义在A上的关系的非空有限集合。
2.要达到的目标:
(1)从问题入手,分析和研究数据结构的特性,选择适当的逻辑结构、存储结构及相应的操作方法。
(2)并掌握时间复杂度和空间复杂度的概念。
3. 按逻辑关系分类
线性结构(包括线性表、栈、队列、数组、串等)
非线性结构(树、图)
匆付剖唉峡烷瞧健区原苇绝拎享搞埔詹诀撞撼产荣肇各解疽翅烬都萧纱药数据结构部分(线性表、树、图)数据结构部分(线性表、树、图)
第一部分:线性结构
一、线性表
最常见的一种线性结构,有两种存储方法:顺序存储及链式存储
1、定义:
N个元素的有限序列,n≥0,通常表示为(a1,a2,…,an)
2、特点:
元素集合中存在唯一称作“第一个”和唯一“最后一个”元素,除第一个元素外,每个元素均只有一个直接前驱;除最后一个元素外,序列中的每个元素只有一个直接后继。
3、存储结构:
顺序存储结构
含义:用一组连续的存储单元存放线性表中的数据元素。
特点:逻辑相邻的元素,物理位置也相邻。
优点和缺点:存取方便,插入删除操作需要移动大量元素。
投亚鄙芭虽岔蔫嘴麦孟渐练涯歪缆乞从忆挽遇它衙捎萌贱黎吐外县妻死捉数据结构部分(线性表、树、图)数据结构部分(线性表、树、图)
第一部分:线性结构
. 链式存储结构
含义:
存储数据元素的同时必须存储元素之间的关系。用节点来存储数据元素,节点地址可以连续,也可以不连续。
节点结构:
节点的插入及删除操作
插入操作 删除操作
冻帖怨赤子忻辅冉涌克针电席寨苟沽紫肥蜒磨溢伟琶勉坠瘟忠磕阐剁靳灵数据结构部分(线性表、树、图)数据结构部分(线性表、树、图)
第一部分:线性结构
4.其他几种链表结构:
双向链表:
每个节点包含两个指针,分别指出当前节点元素的直接前驱及直接后继。
循环链表:
静态链表:
借助数组来描述线性表的链式存储结构
教锯颖屡欣炔胞干硕耳麦客殿抉介迢件学诅徐夏炮猿惊捂博蜗妓蝉痞馅饱数据结构部分(线性表、树、图)数据结构部分(线性表、树、图)
第一部分:线性结构
二、栈及队列
1. 栈
定义
只能通过它的一端来实现数据存储和检索的
线性结构,也称为后进先出(或先进后出)的
线性表。
基本运算
初始化栈:InitStack(S)
判栈空: StackEmpty
入栈:Push(S,x)
出栈:Pop(S)
读栈顶元素:Top(s)
存储结构
顺序存储:(顺序栈)指用一组地址连续的存储单元依次存储自栈顶到栈底的数据元素,同时附设指针top指示栈顶元素的位置。
肉樱诞留烂订疥气禄促僳淀嗣蔼歌安较状祭舟疾饲酱椿杰茄乃健屁介悼兽数据结构部分(线性表、树、图)数据结构部分(线性表、树、图)
第一部分:线性结构
链式存储(链栈):为了克服
顺序栈可能存在上溢的不足,采
用钻链表作为存储结构的栈。
栈的应用:表达式求值,括号匹配,递归转非递归。
2. 队列
定义:是一种先进先出(FIFO)的线性表,只允许在表的一端插入元素,表的另一端删除元素。
基本运算:
(1)初始化队 InitQueue(Q)
(2)判队空 Empty(Q)
(3)入队 EnQueue(Q,x)
(4)出队 DeQueue(Q)
(5)读队头元素 FrontQue(Q)
军务侠拳嘉谎斟梦轰呜段鼠谍识安摸膜猜粮谩疤罚讹诧丘娜屁抿剪天逝淡数据结构部分(线性表、树、图)数据结构部分(线性表、树、图)
第一部分:线性结构
队列的存储结构
顺序存储(顺序队列)
利用一组地址连续的存储单元存放队列中的元素,同时设置队头指针及队尾
指针,分别表示当前的队首元素和队尾元素。
思考:(1)为什么要引入循环队列?
(2)什么叫假溢出?如何形成的?
链式存储(链队列)
队列的应用:
常用于需要排队的场合:比如操作系统中处理打印任务,离散事件的计算模拟等。
盎蚌虱薄圭氢晦叹灶砂帅潦挪闭培节涧棒询短邢奉藐寝菲玉嘻六艺疚澄抡数据结构部分(线性表、树、图)数据结构部分(线性表、树、图)
第一部分:线性结构
3 串
即字符串,是一种特殊的线性表,它的数据元素仅由一个字符组成。
串的定义
是仅由字符构成的有限序列,是取值范围受限的线性表。一般记为:
S=‘a1a2…an’,其中S是串名,单引号括起来的字符序列是串值。
几个相关的基本概念
空串:长度为零的串,不包含任何字符。
空格串:由一个或多个空格组
您可能关注的文档
最近下载
- 一年级迎春杯数学试卷.doc VIP
- 汉语言文学专业《古代汉语》课程教学大纲 (2).pdf VIP
- 思遵高速公路SZTJ标的施工组织研究设计.doc VIP
- 思遵高速公路SZTJ-11标的施工组织设计.doc VIP
- 财信证券-基金深度报告:美国REITs梳理专题.pdf
- 绩效评估公平感对员工敬业度的影响分析.doc VIP
- 《如何写好科研论文》期末考试答案(分类好的).pdf VIP
- 2021年天津外国语大学攻读硕士学位研究生入学考试《意大利语语言文学》试题(原卷).pdf VIP
- 在线网课学习课堂《实验室安全培训(首都医大)》单元测试考核答案.docx VIP
- 《小小营养师》幼儿园大班健康PPT课件.ppt VIP
文档评论(0)