ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:30.74KB ,
资源ID:11621375      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11621375.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(山东专升本计算机专业数据结构练习题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

山东专升本计算机专业数据结构练习题.docx

1、山东专升本计算机专业数据结构练习题 山东专升本计算机专业数据结构练习题 济南铁道职业技术学院 专升本辅导教材 数据结构 测试一下自己的水平 一、判断题 (每小题1分,共15分) 1.非空线性表中任意一个数据元素都有且仅有一个直接前驱元素。( ) 2.数组是一种没有插入与删除操作的线性结构。( ) 3.稀疏矩阵中值为0的元素分布有规律,因此可以采用三元组方法进行压缩存储。( ) 4.空串与空格组成的串没有区别。( ) 5.将T在S中首次出现的位置作为T在S中的位置的操作称为串的模式匹配。( ) 6.深度为h的非空二叉树的第i层最多有2h-1 个结点。( ) 7.完全二叉树就是满二叉树。( ) 8

2、.已知一棵二叉树的前序序列和中序序列可以唯一地构造出该二叉树。( ) 9.非空二叉排序树的任意一棵子树也是二叉排序树。( ) 10.有向图是一种非线性结构。( ) 11.带权连通图的最小生成树的权值之和一定小于它的其它生成树的权值之和。( )网是一种带权的无环连通图。( ) 13.折半查找方法适用于按值有序的线性链表的查找。( ) 14.哈希表的查找效率主要取决于所选择的哈希函数与处理冲突的方法。( ) 15.选择排序过程中元素之间的比较次数与原始序列的状态无关。( )二、单项选择题 (每小题2分,共xx年试题 一 1在数据结构中,数据的逻辑结构可以分成 A内部结构和外部结构 B线性结构和非线

3、性结构 C紧凑结构和非紧揍结构 D动态结构和静态结构 2下列说法正确的是 A数据是数据元素的基本单位 B数据元素是数据项中不可分割的最小标识单位 C数据可若干个数据元素构成 D数据项可若干个数据元素构成 3数据结构的基本任务是 A逻辑结构和存储结构的设计 B数据结构的运算实现 C数据结构的评价与选择 D数据结构的设计与实现 4在一个具有n个结点的有序单链表中插入一个新结点,并使插入后仍然有序,则该操作的时间复杂性量级为 2 AO BOCO DO(n) 5.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构 6

4、、选出正确的表述 (1)顺序存储方式只能用于存储线性结构。 第 5 页 共 63 页 济南铁道职业技术学院 专升本辅导教材 数据结构 (2)顺序存储方式的优点是存储密度大, 且插入、删除运用算效率高。(3)链表的每个结点中都恰好包含一个指针。 (4)散列法存储的基本思想是关键码的值决定数据的存储地址。(5)散列表的结点中只包含数据元素自身的信息, 不包含任何指针。 (6)负载因子 (装填因子) 是散列法的一个重要参数, 它反映散列表的装满程度。(7)栈和队列的存储方式既可是顺序方式, 也可是链接方式。 (8)用二叉链表法 (llink - rlink法) 存储包含n 个结点的二叉树, 结点的2

5、n个指针区域中有n+1 个为空指针。 (9)用相邻矩阵法存储一个图时, 在不考虑压缩存储的情况下, ?所占用的存储空间大小只与图中结点个数有关, 而与图的边数无关。 (10)邻接表法只能用于有向图的存储,而相邻矩阵法对于有向图和无向图的存储都适用。 7表示逻辑关系的存储结构可以有四种方式,即顺序存储方式、链式存储方式、_和散列存储方式。 8下列程序段的时间复杂度为_。 product = 1; for (i = n;i0; i-) for (j = i+1; j 9文件上的两类主要操作为_和_。 10文件的基本运算包括_和修改两类。 11下列程序段的时间复杂性量级是_。 for (i=1;i

6、t=t+1; 12.若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为_。 第二章 课后辅导 例21 已知长度为n的非空线性表A采用顺序存储结构,表中数据元素按值的大小非递减排列,请写出删除该线性表中值相同的多余元素的算法。7654321 7654321 算法思想比较简单,只需从表的第一个数据元素开始到最后那个数据元素,反复做以下动作:比较相邻的两个数据元素是否相同,若相同,则删除其中一个;若不相同,则比较下一对相邻元素。算法如下:voidDELETEITEM1(ElemTypeA,int n) int j,i=0;while(i if (Ai!=Ai+1)x

7、若相邻两个元素不相同。i+; else*若相邻两个元素相同,则删除其中一个*for ( j=i+;i n-;x表长减1 x 第 6 页 共 63 页 济南铁道职业技术学院 专升本辅导教材 数据结构 2 上述算法的时间复杂度为O(n)。对算法进行改进,得到一个时间复杂度为O(n)的 算法不是很困难。这里,设置两个整型变量i与k,它们的初值分别为1与0。若在比较 过程中发现Ai与Ak不同,则先将k后移一个位置,然后将Ai送到Ak的位置上; 若Ai与Ak相同,只是将i后移一个位置。当表中所有元素都处理完毕时,k+1正好 是删除多余元素以后线性表的长度。改进后的算法如下: voidDELETEITEM

8、2(ElemTypeA,int &n) int k,i;if(n1) k=0; for(i=1;i if(Ai!=Ak)x若Ai与Ak不相同时。A+k=Ai; n=k+1;。得到删除以后的表长。 14将两个按值有序的非空线性链表合并为一个按值有序的线性链表设lista与listb分别为两个有序链表第一个链结点的指针。将这两个有序链表合并 为一个有序链表,其第一个链结点的指针为listc。 这里,只需设置三个指针p,q和r,其中,p和q分别指向链表lista和链表listb当前待比较插入的链结点,而r指向链表listc中当前最后那个链结点。然后不断地比较p与q 所指的链结点的数据域值,若p-da

9、ta data,则将p指的链结点链接到r所指的链结点之后,否则将q指的链结点链接到r所指的链结点之后。当其中一个链表为空时,只 需将另一个链表中剩余的链结点都依次链接到r所指的链结点之后即可。初始时,让 listc指向lista和listb所指向的链结点中值小的那一个链结点。LinkListMERGELIST(LinkListlista,LinkListlistb) LinkList listc,p,q,r;if(lista-dadadata)listc=lista;r=lista; p=lista-link;else listc=listb;r=listb; q=listb-link; x

10、listc指向lista和listb所指结点中值小者xwhile(p!=NULL&q!=NULL) if(p-datadata)x若当前p所指结点的值不大于q所指结点的值x 第 7 页 共 63 页 济南铁道职业技术学院 专升本辅导教材 数据结构 r-link=p;y将p所指结点链接到r所指结点之后xr=p; p=p-link;else r-link=q;。将q所指结点链接到r所指结点之后r=q; q=qlink; r-link=p?p=q;x插人剩余链结点x return(listc);x返回合并后的链表第一个链结点地址x 若两个链表的长度分别为n与m,则上述算法的时间复杂度为O(n十m)。

11、在合并两 个链表为一个链表时不需要另外建立新链表的链结点空间,只需将给定的两个链表中的 链结点之间的链接关系解除,重新按照元素值的非递减关系将所有链结点链接成为一个 链表即可。 例25 约瑟夫(Josephu)问题 已知n个人(不妨以编号1,2,3,?,n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列,他的下一个人又从1开始报数,数到m的那个人又出列,依此规则重复下去,直到圆桌周围的人全部出歹,J。 例如,当n:8,m4,k二3时,出列的顺序依次为6,2,7,4,3,5,1,8。 解决约瑟夫问题可以利用多种数据结构,但比较简单和自然的方法是利用一个具有 n个链结点、且

12、不带头结点的循环链表。将圆桌周围的每一个人对应着该链表中的一个链结点,某个人出列相当于从链表中删除一个链结点。下面的算法就是在该循环链表中不断地报数,不断地删除一个链结点,直到循环链表中还剩一个链结点时游戏结束。整个算法可以分为三个部分:(1)建立一个具有n个链结点且无头结点的循环链表;(2)确定第一个报数点的位置; (3)不断地从链表中删除一个链结点,直至链表中还有一个链结点。 习 题21 判断题(在你认为正确的题后的括号中打,否则打X)。(1)空线性表的特征是表中数据元素都未赋值。() (2)线性表的顺序存储结构必须占用一片地址连续的存储单元。( ) (3)用一维数组存储线性表时,表中第i

13、个元素存放在下标为i的数组元素中。()(4)采用顺序存储结构的线性表又称为顺序表。() (5)个数据元素的地址是指该元素占用的若干存储单元的第一个单元的地址。()(6)线性表占用的存储单元的数量与表中数据元素的类型有关。()(7)线性表的顺序存储结构要比链式存储结构节省存储空间。()(8)线性表的链式存储结构要比顺序存储结构节省存储空间。() (9)若线性表采用顺序存储结构,线性表的长度等于表中元素的个数与每个元素所占内存单元之乘积。( ) 第 8 页 共 63 页 济南铁道职业技术学院 专升本辅导教材 数据结构 (10)若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素

14、的存储地址为144则第1个数据元素的存储地址是101。( 100 ) (11)在长度为n的顺序表的第i个位置插入一个数据元素,i的合法值为1iN。()(12)删除长度为n的顺序表的第i个数据元素,i的合法值为1in。()(13)在长度为n的顺序表中插入一个数据元素的时间复杂度为O(n)。()(14)线性表的链式存储结构不必占用地址连续的存储空间。()(15)链表中的每个链结点占用的存储空间不必连续。() (16)一个链结点的地址是指该链结点占用的若干存储单元的第一个单元的地址。()(17)非空线性链表的最后那个链结点的指针域不能为空,应该存放NULL。()(18)所谓空链表是指没有任何链结点的

15、链表。()(19)任何一个链表都可以根据需要设置一个头结点。()(20)每个链表的前面都必须设置一个头结点。() (21)线性链表(单向链表)中的每个链结点只有后继结点,没有前驱结点。()(22)一个空的链表不占用任何存储空间。() (23)若指针变量list指向一个空链表,则list中什么也没有。()(24)无论出现在算法的什么地方,符号p-data表示的意思都一样。()(25)在算法中,符号p-link表示p所指的下一个链结点的地址。() (26)删除非空线性链表的第一个链结点只需执行语句list=list-link。() (27)循环链表的最后那个链结点的指针域中存放着链表最前面那个结点

16、的地址。()(28)设置一个指针变量,它可以遍历整个循环链表。() (29)双向链表的头结点指针要比线性链表的头结点指针占用更多的存储空间。()(30)在链结点数目相同的前提下,双向链表占用的空间是线性链表的2倍。() 单项选择题。 (1)一个顺序表所占用的存储空间大小与无关。 A表的长度B元素的存放顺序 C元素的类型D。元素中各字段的类型 (2)设存储分配是从低地址到高地址进行的。若每个元素占用4个存储单元,则某元素的地 址是指它所占用的单元的 A第1个单元的地址B第2个单元的地址 C第3个单元的地址n第4个单元的地址 (3)若线性表采用顺序存储结构,每个元素占用4个存储单元,第1个元素的存

17、储地址为100, 则第12个元素的存储地址是。 A112B144C1480412 (4)若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i的合法值 应该是。 AiOBinC1inD1in+1 (5)若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该是 AiOBinC1inD。1in十1 (6)若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中个数据元素。 An-iBn+iCn-i+lDn-i-1 (7)若长度为n的线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,需要移动表中个元素。 AiBn+iCn-i+

18、lDn-i-1 (8)若频繁地对线性表进行插入和删除操作,该线性表应该采用存储结构。 第 9 页 共 63 页 济南铁道职业技术学院 专升本辅导教材 数据结构 A散列B顺序C链式D索引 (9)链表中所占用的存储单元地址一定是。 A无序的B连续的C不连续的D部分连续的 (10)链表中的每一个链结点所占用的存储单元。 A不必连续B一定连续C部分连续D连续与否无所谓 (11)与单链表相比,双向链表的优点之一是。A插入、删除操作更简单B可以进行随机访问C可以省略头结点指针D顺序访问相邻结点更灵活 (12)若list是某带头结点的循环链表的头结点指针,则该链表最后那个链结点的指针域中存放的是。 A1is

19、t的地址B1ist的内容 C1ist指的链结点的值D链表第一个链结点的地址 (13)若list是某带头结点的循环链表的头结点指针,当p(p与list同类型)指向链表的最后那个链结点时,。 A该结点的指针域为空Bp为空 Cp的内容与头结点的内容相同D该链结点指针域内容与list的内容相同 (14)若listl和list2分别为一个单链表与一个双向链表的第一个结点的指针,则。A1ist2比listl占用更多的存储单元B1istl与list2占用相同的存储单元 C1istl和list2应该是相同类型的指针变量D双向链表比单链表占用更多的存储单元 (15)在表达式中,符号p-link表示。Ap所指的链

20、结点的指针域(位置)Bp所指的链结点的指针域的内容 Cp所指的链结点的下一个链结点的地址 Dp所指的链结点的下一个链结点的地址(出现在表达式中) (16)在一个具有n个链结点的线性链表中查找某一个链结点,若查找成功,需要平均比较个链结点。 AnBn2C(n+1)2D(n-1)Q (17)从一个具有n个链结点的有序线性链表(即链结点按照数据域值有序链接)中插入一个新的链结点,并且仍然保持链表有序的时间复杂度为。AO(1)BO(n)CO( n(2) )DO( log2(n) ) (18)给定具有n个元素的顺序表,建立一个有序线性链表的时间复杂度为。AO(1)BO(n)CO( n(2) )DO( l

21、og2(n) ) (19)在非空线性链表中p所指的链结点后面插入一个q所指的链结点的过程是依次执行。 Aq-link=p;p-link=q;Bq-link=p-link;p-link=q;Cq-link=p-link;p=q;Dp-link=q;q-link=p; (20)若删除非空线性链表中p所指的链结点的直接后继链结点的过程是依次执行_. Ar=p-link;p-link=r;free(r); Br=p-link;p-link=r-link;free(r);Cr=p-link;p-link=r-link;free(p);Dp-link=p-link-link;free(p); (21)在非

22、空双向循环链表中q所指的链结点后面插入一个p所指的链结点的动作依次为:p-llink=Q;p-rlink=q-rlink;q-rlink=p;。(空白处为一条赋值 第 10 页 共 63 页 济南铁道职业技术学院 专升本辅导教材 数据结构 语句) Aq-llink=pBq-rlink-llink=p Cp-fiink-llink=pDp-llink-llink=p (22)在非空双向循环链表中q所指的那个链结点前面插入一个p所指的链结点的动作对应的语句依次为:p-rlink=Q;p-llink=q-llink;q-1ink=p;。(空白处为一条赋值语句) Aq-rlink=p;Bq-llink

23、-rlink=p; Cp-rlink-rlink=p;Dp-llink-rlink=p; (23)在包含有1000个数据元素的线性表中实现如下四个操作,所需要的执行时间最长的是一O A线性表采用顺序存储结构,在第10个元素后面插入一个新的元素B线性表采用链式存储结构,在第10个元素后面插入一个新的元素C线性表采用顺序存储结构,删除第990个元素D线性表采用链式存储结构,删除p所指的链结点 23填空题。 (1)顺序表是一种线性表。 (2)在程序设计中,描述线性表的顺序存储结构一般都用。 (3)在情况下,删除线性表中一个数据元素平均要移动表中近一半的元素。(4)在顺序表的插入一个新的数据元素不必移

24、动任何元素。 (5)若长度为n的线性表采用顺序存储结构,在其第i个位置(1in+1)插入一个新的数据元素,当不溢出时,首先,然后,最后。 (6)若长度为n的线性表采用顺序存储结构,删除其第i个元素(1in),首先,然后。 (7)若长度为n的线性表采用顺序存储结构,插入或删除一个元素的时间复杂度为。 (8)若某线性表采用顺序存储结构,每个元素占4个存储单元,首地址为100,则第12个元素的存储地址为。 (9)线性表的链式存储结构主要包括、和三种形式。 (10)线性表的顺序存储结构是通过来直接反映数据元素之间的逻辑关系,而链式存储结构则是通过间接反映数据元素之间的逻辑关系。 (11)根据的多少,可

25、以将链表分为线性链表(单链表)与双向链表。 (12)若对线性表进行的操作主要不是插入和删除,则该线性表宜采用存储结构,若频繁地对线性表进行插入和删除操作,则该线性表宜采用存储结构。(13)删除list所指的线性链表的第一个链结点是执行操作。 (14)删除非空线性链表中q所指的链结点(其直接前驱结点r指出)的动作是执行语句和。 (15)在线性链表中q所指的链结点后面插入一个地址为p的新结点的过程是依次执行操作和。 (16)若p为指向循环链表中某链结点的指针变量,判断循环链表是否只有一个链结点的标志是。 (17)删除非空双向链表中q所指的链结点的过程是执行语句和。(18)在具有n个链结点的链表的已

26、知位置插入一个链结点的时间复杂度为。(19)在具有n个链结点的链表中查找一个链结点的时间复杂度为。(xx年试题 1在线性表的下列存储结构中,读取元素花费时间最少的是 A单链表 B双链表C循环链表 D顺序表 2顺序存储的线性表,在任一结点前插入一个新结点时所需移动结点的平均次数为 An Bn/2Cn+1 D(n+1)/2 3.在长度为n的顺序表的第i(1in+1)个位置上插入一个元素,元素的移动次数为( ) +1i 4在顺序存储的线性表中的第i (1in)个元素之前插入一个元素,则需向后移动_个元素。 一、选择题 1在线性表的下列存储结构中,读取元素花费时间最少的是 A单链表 B双链表C循环链表

27、 D顺序表 2顺序存储的线性表,在任一结点前插入一个新结点时所需移动结点的平均次数为 An Bn/2Cn+1 D(n+1)/2 3.在长度为n的顺序表的第i(1in+1)个位置上插入一个元素,元素的移动次数为( )+1i 4在顺序存储的线性表中的第i (1in)个元素之前插入一个元素,则需向后移动 第 13 页 共 63 页 济南铁道职业技术学院 专升本辅导教材 数据结构 _个元素。 5在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用 A数据元素的相邻地址表示 C指向后继元素的指针表示 B数据元素在表中的序号表示 D数据元素的值表示 6设p指向单链表中的一个结点,s指向待插入的结点,则

28、下述程序段的功能是s - next = p - next;p - next = s; t = p - data;p - data = s - data;s -data = t; A结点*p与结点*s的数据域互换 B在p所指结点的元素之前插入元素 C在p所指结点的元素之后插入元素 D在结点*p之前插入结点*s 7在线性表的下列存储结构中,读取元素花费时间最少的是 A单链表 C循环链表 B双链表 D顺序表 8将一个头指针为p的单链表中的元素按与原单链表相反的次序存放,则下列算法段中的空白处应为: q=NULL; while (p!=NULL) p=q; A. r =q; q=p; p=p - next; q - next=r;Bq=p; r=q;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1