《数据结构》大本课件-2.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 线性表 2.1 线性表的基本知识 2.2 线性表的顺序存储实现 2.2.1 顺序表 2.2.2 顺序表的基本算法描述 2.3 线性表的链式存储实现 2.3.1 单链表 2.3.2 单链表的基本算法描述 2.4 链式存储的推广 2.4.1 双链表 2.4.2 循环链表 2.5 线性表的应用 2.5.1 多项式的求值和相加 2.5.2 约瑟夫问题 * * 2.1 2.2 2.3 本章讲述内容: 2.4 线性表的基本知识 线性表的顺序存储实现 线性表的链式存储实现 链式存储的推广 2.5 线性表的应用 线性表的定义 1. 一组数据的逻辑结构呈线性关系时,称其为线性表。即所谓“线性表”,是由具有相同类型的有限多个数据元素组成的一个有序序列。 若把一个线性表取名为L,里面有n(n≥0)个元素,每个元素用ai(1≤i≤n)表示,下标代表该元素在线性表中的位置,那么可以把线性表L记为: L = (a1 , a2, …, ai, ai+1, …, an?1, an ) . . 线性表的若干概念 2. . 线性表中数据元素的个数n,称为线性表的“长度”。当n=0时,表示线性表中不包含任何元素,称其为“空表”。若线性表L为空,则记为L =()或L = ?。 . 在线性表中,对任意一对相邻结点ai和ai+1(1≤i≤n?1),称ai为ai+1的“直接前驱”,称ai+1为ai的“直接后继”。 ai ai+1 ai+1的直接前驱 ai的直接后继 . 若线性表中元素的值与它的位置间存在联系,比如其元素的值是按递增顺序排列的,那么称这种线性表为“有序线性表”;若线性表中元素的值与它的位置之间没有特殊的联系,那么称这种线性表为“无序线性表”。 线性表的特点 3. . . 有且仅有一个起始结点a1,它没有直接前驱,只有一个直接后继a2 。 . 有且仅有一个终端结点an,它没有直接后继,只有一个直接前驱an?1 。 其余结点ai(2≤i≤n?1)都有且仅有一个直接前驱ai?1和一个直接后继ai+1。 线性表上的常见处理 4. . 创建一个新的线性表,或删除一个已经存在的线性表 。 . 使线性表增长(即插入一个元素)、使线性表缩短(删除一个元素),增长或缩短后元素间仍然应该保持线性关系 。 . 得到当前线性表里拥有的元素个数(测试出线性表的长度)。 . 查找到所需要的线性表元素的值,读出这个值,或者对这个值进行修改 。 . 从一个元素出发,得到它的前驱结点和后继结点 。 顺序表的定义 1. 采用顺序式存储结构存放线性表时,是把表中的数据结点按其逻辑次序依次存储在内存中的一块连续存储区里。这时,线性表中逻辑上邻接的两个数据结点,其存储结点在物理位置上也是相邻接的。以这种顺序存储结构实现的线性表,被称为“顺序表”。 设存储结点的数据类型为elemtype,每个存储结点所需存储量为 size,顺 序表Sq 第1个存储结点a1的起 址为 LOC(a1)。那么,顺序表 Sq 第 i 个存储结点 ai 的起址 LOC(ai) 可通过公式得到 。 由于顺序表中任一个存储结点的位置可通过计算得到,所以对顺序表中的任一数据元素的访问,都可在相同的时间内实现,即可方便地实现随机访问。 由于顺序表要占用内存中的连续存储区,因此为其分配一块存储区域之后,在该区域里能够容纳的数据元素的个数是有限的。 顺序表所占存储区大小 2. 在顺序式存储中,存储结点里不需要存放结点间的邻接关系,数据的存储结点大小与其数据结点大小相同。因此,顺序表所占的连续存储区,应该由数据结点所需的存储量以及数据结点的个数来决定。 求顺序表任一存储结点地址的公式 3. LOC ( ai ) = LOC ( a1 ) + size × ( i - 1) 第i个存储 结点的地址 第1个存储 结点的地址 存储结点尺寸 前面已有 的结点个数 a1 1 a2 2 a3 3 ai i ai+1 i+1 an-1 n-1 an n 位置序号: 结点内容: 存储地址: LOC(a1) size LOC(a1)+size LOC(a1)+size×(i-1) 空闲 顺序表的几个特点 4. . . . 由于顺序表中元素之间是一种线性的逻辑关系,因此在往顺序表里插入或删除一个数据元素时,势必要对原有数据元素进行移动,以求维持这种线性关系。 创建顺序表的算法 算法2-1 算法描述 (1) Create_Sq (Sq,Sq_num,Sq_m

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档