(湖大公考)湖南省农村信用社考试之数据结构课件.ppt

(湖大公考)湖南省农村信用社考试之数据结构课件.ppt

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

数据结构;1.2数据结构的有关概念;数据的逻辑结构:

数据之间的结构关系,是现实中具体关系的抽象。;数据的逻辑结构;数据的存储结构;线性表

定义:n个数据元素的有限序列

根本操作:随机访问、插入、删除、前驱、后继、倒序等

实现方式:

顺序存储:数组;线性表是最简单常用的数据结构,顺序存储结构链式存储结构也是应用中最常用的存储方法,栈队列串是特殊的线性表,数组和广义表是线性表的扩展;有助于理解和掌握树和图等复杂的数据结构存储结构和图等复杂结构的操作算法,因为树和图的存储结构大多或是这两种存储结构的扩充,或是它们的组合。;线性表的概念;线性表的概念;线性表

实现方式:

顺序存储:数组;*;自测题

在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:

访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)

在第i个结点后插入一个新结点〔1≤i≤n〕

删除第i个结点〔1≤i≤n〕

将n个结点从小到大排序;*;自测题

线性表假设采用链式存储结构时,要求内存中可用存储单元的地址:

必须是连续的

局部地址必须是连续的

一定是不连续的

连续或不连续都可以;自测题

下面的表达不正确的选项是〔〕

线性表在链式存储时,查找第i个元素的时间同i的值成正比

线性表在链式存储时,查找第i个元素的时间同i的值无关

线性表在顺序存储时,查找第i个元素的时间同i的值成正比

线性表在顺序存储时,查找第i个元素的时间同i的值无关;自测题

在一个单链表中,假设p所指的结点不是最后结点,在p之后插入s所指结点,那么执行:

s-next=p;p-next=s;

s-next=p-next;p-next=s;

s-next=p-next;p=s;

p-next=s;s-next=p;;自测题

在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是:

p=p-next;

p-next=p-next-next;

p-next=p;

p=p-next-next;;*;自测题

设一个链表最常用的操作是在末尾插入结点和删除尾结点,那么选用()最节省时间。

单链表

单循环链表

带尾指针的单循环链表

带头结点的双循环链表;自测题

将线性表La和Lb头尾连接,要求时间复杂度为O(1),且占用辅助空间尽量小。应该使用哪种结构?

单链表

单循环链表

带尾指针的单循环链表

带头结点的双循环链表;堆栈

概念:后进先出,限定仅在表尾进行插入删除的线性表。

表示与实现:

顺序栈:数组,top++,top--

链栈:链表,top即为头指针

应用:括号匹配检验、表达式求值、n阶Hanoi塔问题〔典型递归〕、迷宫问题;自测题

判定一个栈ST(最多元素为m0)为空的条件是:

ST-top!=0

ST-top==0

ST-top!=m0

ST-top==m0;自测题

有六个元素以6,5,4,3,2,1的顺序进栈,问以下哪一个不是合法的出栈序列?

543612

453126

346521

234156;自测题

假设一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,那么第j个输出元素是:

i–j–1

i–j

j–i–1

不确定的;队列

概念:先进先出,限定仅在队尾进行插入、仅在队头进行删除的线性表。

表示与实现:

顺序队列:循环数组,(rear+1)%N,(front+1)%N

链栈:链表,front为头指针,rear为尾指针

应用:离散事件模拟;自测题

循环队列用数组A[0,N-1]存放其元素值,其头尾指针分别是front和rear,那么当前队列中的元素个数是:

(rear-front+N)%N

rear-front+1

rear-front-1

rear-front;自测题

栈和队列的共同特点是:

都是先进后出

都是先进先出

只允许在同一端点处插入和删除

没有共同点;一、存储空间的分配方面:顺序存储开辟连续的,固定长度的存储空间。出现溢出情况时,不能动态扩充。链式存储中,结点的存储空间是通过malloc函数来动态分配,可以不连续,不存在溢出情况。

结论:事先能确定线性表的大致长度,应选择顺序存储方式,否那么为了防止造成分配空间过大或过小,宜采用链式存储方式。

二、操作方面:顺序存储,可以随机访问,经常访问线性表中元素的操作非常方便。但要进行插入和删除操作每次都会出现元素的大量移动。链式存储,只能顺序访问,访问链表中的任意元素时,必须都从第一个结点开始顺序查找。要进行插入和删除操作时,只需修改结点的指针域。

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档