[理学]第6章 数据结构.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第6章 数据结构

第6章 算法与数据结构基础 向量{2,43,68,45,32}是数据结构 线性结构: 树型结构: 数据之间一对多关系 一个结点仅有一个前件,可有多个后件 前、后件之间层次关系 图形结构: 数据元素之间多对多关系 一个结点可有多个前件和多个后件 集合:是一种松散结构,数据元素之间的关系是属于一个集合,可用其他结构表示。 顺序存储结构优点是每个结点占用存储空间最少,缺点是如果数据元素很多,则可能找不到一块足够大的连续存储单元。另外,不能很好地利用存储单元,容易产生碎片。 同一逻辑结构可以采用多种存储方式。例如线性表即可以顺序存储,也可以链式存储。 链式存储结构优点是充分利用所有存储单元,缺点是每个结点占用较多存储单元。 同一逻辑结构可以采用多种存储方式。例如线性表即可以顺序存储,也可以链式存储。 ⑴ 自然语言描述算法:自然语言就是人类语言。用自然语言描述算法通俗易懂,人们容易接受。 ⑶ 流程图描述算法:用一些图框、线条以及文字说明 来形象地、直观地描述算法。 在线性表中通过元素序号可以很方便地访问某一元素。 在程序设计中,通常用数组表示顺序表。 同一线性表中数据元素的类型相同,假设一个数据元素占用d个字节,线性表的首地址Addr(a1)为K,则存储数据元素a i 的首地址为: Addr(a i)= Addr(a 1)+(i -1) × d = K + (i -1) × d , 1 ≤ i ≤ n 循环链表特点是:从表中任一结点出发,均可以找到其它所有结点;在任何情况下,带有表头结点的循环链表中至少有一个结点存在,从而使空表和非空表运算统一。 对单链表进行操作时,要判断是否是表尾,即指针是否为Null;而对循环链表操作时,要判断是否是头指针。 6.3.3 队 列 6.下面属于栈操作的有 。 A. 在栈顶插入一个元素 B. 在栈底插入一个元素 C.删除栈顶元素 D. 删除栈底元素 E. 判断栈是否为空 7.下面属于队列操作的有 。 A. 在队头插入一个元素 B. 在队尾插入一个元素 C.删除队头元素 D. 删除队尾元素 E. 判断队列是否为空 8.有6个元素按1、2、3、4、5、6的顺序进栈,可能的出栈序列有 。 A. 1、2、3、4、5、6 B. 2、3、4、1、6、5 C. 4、3、1、2、5、6 D. 3、2、4、6、5、1 E. 5、4、6、3、2、1 9.有6个元素按1、2、3、4、5、6的顺序入队,不可能的出队序列有 。 A. 1、2、3、4、5、6 B. 2、3、4、1、6、5 C. 4、3、1、2、5、6 D. 3、2、4、6、5、1 E. 5、4、6、3、2、1 6.3.4 循环队列 循环队列是将队列的存储空间想象成一个首尾相连的环状空间 。 在入队运算时,如果存储空间的最后一个位置已被占用,而第一个位置空闲,便将元素放到第一个位置上作为队尾。 front指向队头元素的前一个单元位置,用rear指向队尾元素的位置。因此,从front指向的后一个位置到rear指向的位置之间,所有元素均为队列中的元素。 循环队列 满二叉树 按照完全二叉树每个结点编号的顺序存放结点,结点之间逻辑关系可以通过结点的编号准确地反映出来。 完全二叉树采用顺序存储结构,既节省存储空间,操作又简单。 一棵二叉树的链式存储结构,BT为头指针,指向根结点,用“^”表示空指针域。 ⒎ 二叉树遍历 遍历二叉树就是按照某种顺序访问二叉树中每个结点的过程,每个结点被访问一次且仅一次。 二叉树的遍历分为先序遍历、中序遍历和后序遍历。 ⑴ 先序遍历:是先访问根结点,然后遍历左子树,最后再遍历右子树。 ABDGICEFHJ ⑵ 中序遍历:是先遍历左子树,然后访问根结点,最后再遍历右子树。在遍历左子树或右子树时,同样遵循中序遍历的规则。 DGIBAECJHF ⑶ 后序遍历:是先遍历左子树,然后遍历右子树,最后再访问根结点。 IGDBEJHFCA 16.如果一棵二叉树的后序遍历序列是DBECA,中序遍历序列是DBACE,则它的前序遍历序列是 。 A.ACBED B.ABDCE C.DECAB D.EDBAC 顺序查找算法简单,但执行效率较低,特别是当表较大时,不宜采用此种查找算法。但在下列两种情况下,只能使用顺序查找算法: ⑴ 线性表是线性链表。 ⑵ 线性表是顺序表,但表中元素无序排列 设顺序表是按升序排列,二分查找法的基本思想是: 首先将给定值与中间位置元素比较,若相等,则查找成

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档