大学计算机基础教程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.2.3 数据结构的基本概念(续) (2)数据的存储结构 数据的逻辑结构在计算机存储空间中的存放形式 常用的存储结构: 顺序 链式 索引 一种数据结构可根据需要采用不同的存储结构。采用不同的存储结构,其数据处理的效率是不同 第三百三十二页,编辑于星期二:三点 七分。 8.2.3 数据结构的基本概念(续) 2.数据结构的图形表示 数据结点:用方框表示 根结点、终端结点 前后件关系:用有向线段表示 基本运算: 插入运算 删除运算 查找、分类、合并、分解、复制、修改、…… 数据结构 操作系统 单片机 (a) 所修课程的数据结构 XX大学 (b) 学院行政关系的数据结构 计算机系 数学系 第三百三十三页,编辑于星期二:三点 七分。 8.2.3 数据结构的基本概念(续) 3.线性结构与非线性结构 空的数据结构:一个数据元素都没有 线性结构 如果一个非空数据结构满足下列两个条件: 有且只有一个根结点; 每一个结点最多有一个前件,也最多有一个后件。 常见的线性结构有:线性表、栈与队列、线性链表 非线性结构 如果一个数据结构不是线性结构 常见的非线性结构有:树、二叉树、图 第三百三十四页,编辑于星期二:三点 七分。 8.2.4 线性表 1.基本概念:由n(n≥0)个相同类型数据元素构成的有限序列: n定义为线性表的表长;n=0 时的线性表被称为空表。称i为在线性表中的位序。 例如: 英文小写字母表(a,b,c,…,z)是一个长度为26的线性表 第三百三十五页,编辑于星期二:三点 七分。 8.2.4 线性表(续) 线性表的结构特征 数据元素在表中的位置由序号决定,数据元素之间的相对位置是线性的; 对于一个非空线性表,有且只有一个根结点a1,它无前件,有且只有一个终端结点an,它无后件,除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。 线性表的存储结构 顺序存储 链式存储 第三百三十六页,编辑于星期二:三点 七分。 8.2.4 线性表(续) 两个基本特点: 线性表中所有元素所占的存储空间是连续的。 线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 存储示意图 第三百三十七页,编辑于星期二:三点 七分。 8.2.4 线性表(续) (a)初始表 (b)插入25后 顺序表插入操作示意图 (c)插入16后 54 6 40 30 12 11 53 54 25 6 40 30 12 11 53 54 25 6 40 30 12 11 16 53 第三百三十八页,编辑于星期二:三点 七分。 8.2.4 线性表(续) 插入算法的分析 假设线性表中含有n个数据元素,在进行插入操作时,若假定在n+1个位置上插入元素的可能性均等,则平均移动元素的个数为: 删除算法的分析 在进行删除操作时,若假定删除每个元素的可能性均等,则平均移动元素的个数为: 分析结论 顺序存储结构表示的线性表,在做插入或删除操作时,平均需要移动大约一半的数据元素。当线性表的数据元素量较大,并且经常要对其做插入或删除操作时,这一点需要值得考虑 第三百三十九页,编辑于星期二:三点 七分。 8.2.4 线性表(续) 线性表顺序存储的缺点 插入或删除的运算效率很低。在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元素。 线性表的顺序存储结构下,线性表的存储空间不便于扩充。 线性表的顺序存储结构不便于对存储空间的动态分配。 第三百四十页,编辑于星期二:三点 七分。 8.2.5 栈和队列 1. 栈及其基本运算 栈(stack):一种只允许在表的一端进行插入或删除操作的特殊的线性表 栈顶(top) :允许进行插入与删除操作的一端 栈底(bottom):不允许插入与删除操作的另一端 先进后出(FILO)或后进先出(LIFO)的线性表 栈底 bottom a1 a2 … an 栈顶 top 出栈 入栈 栈的示意图 第三百四十一页,编辑于星期二:三点 七分。 8.2.5 栈和队列(续) 栈的基本运算 top=0:栈空 top=m:栈满 栈的基本运算 入栈运算 退栈运算 读栈顶元素 第三百四十二页,编辑于星期二:三点 七分。 8.2.5 栈和队列(续) 2.队列及其基本运算 限定只能在表的一端进行插入和在另一端进行删除操作的线性表 队尾(rear):允许插入的一端 队头(front):允许删除的另一端 先进先出(FIFO)表或后进后出(LILO)线性表 基本操作 入队运算:往队列的队尾插入一个元素,队尾指针rear的变化 退队运算:

文档评论(0)

189****1935 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档