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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构真题分类整理.docx

1、数据结构真题分类整理第一章 概述 真题16.下列程序段的时间复杂度为_。for(i=1;i=n;i+)for(j=1;j=n;j+)for(k=1;k=n;k+)s=i+j+k;17.在数据结构中,各个结点按逻辑关系互相缠绕,任意两个结点可以邻接的结构称为_。16.下列程序段的时间复杂度为_。i=0;s=0;while(in) i+;s=s+i;17.数据的逻辑结构被分为集合结构、_、树形结构和图状结构4种。1.数据的不可分割的最小标识单位是()A.数据项 B.数据记录 C.数据元素 D.数据变量2. for(i=0;im;i+)for(j=0;jt;j+)cij=0;for(i=0;im;i

2、+)for(j=0;jt;j+)for(k=0;kn;k+)cij=cij+aik*bkj;上列程序的时间复杂度为() A.O(m+nt) B.O(m+n+t) C.O(mnt) D.O(mt+n)16.在数据结构中,数据的存储结构有顺序存储方式、链式存储方式、_和散列存储方式等四种。17.作为一个算法输入的数据所含数据元素的数目,或与此数目有关的其他参数,称为_。 1.从逻辑上可以把数据结构分为() A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构2.关于算法的描述,不正确的是() A.算法最终必须由计算机程序实现 B.所谓时间复杂度是指最坏

3、情况下,估算算法执行时间的一个上界 C.健壮的算法不会因非法的输入数据而出现莫名其妙的状态 D.算法的优劣与算法描述语言无关16.在任何问题中,数据元素都不是孤立的,它们之间总存在某种关系,通常称这种关系为_。 17.存储结点之间通常有四种基本存储方式,即顺序存储方式、索引存储方式、_和散列存储方式。1.在数据结构中,数据的基本单位是( ) A.数据项 B.数据元素 C.数据对象 D.数据文件2. k=1; for(i=0;in;i+)for(j=0;jn;j+) Aij=k+;上述程序段的时间复杂度为( ) A.O(n2) B.O(n) C.O(2n) D.O(1)16.数据的逻辑结构通常包

4、括集合、线性结构、_和图状结构。1.在数据结构中,从逻辑上可以把数据结构分成( )A.线性结构和非线性结构 B.紧凑结构和非紧凑结构C.动态结构和静态结构 D.内部结构和外部结构2.for(i=0;im;i+)for(j=0;jn;j+)Aij=i*j;上面算法的时间复杂度为( ) A.O(m2) B.O(n2) C.O(mn) D.O(m+n)16.如果操作不改变原逻辑结构的“值”,而只是从中提取某些信息作为运算结果,则称该类运算为_ _型运算。3从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是( )A线性结构 B.树形结构 C.线性结构和树型结构 D.线性结构和图状结构16在

5、数据结构中,各个结点按逻辑关系互相缠绕,任意两个结点可以邻接的结构称为_。17每个存储结点只含一个数据元素,所有存储结点连续存放。此外增设一个索引表,索引表中的索引指示各存储结点的存储位置或位置区间端点。按这种方式组织起来的存储结构称为_。1.数据的基本单位是()A.数据项 B.数据类型 C.数据元素 D.数据变量2.下列程序的时间复杂度为()i=0;s=0;while(sn) i+;s=s+i;A.O() B.O() C.O(n) D.O(n2)16.在数据结构中,数据的逻辑结构分为集合、_、树形结构和图状结构等四类。17.通常从正确性、易读性、_和高效率等4个方面评价算法(包括程序)的质量

6、。1.数据结构中所定义的数据元素,是用于表示数据的()A.最小单位 B.最大单位 C.基本单位 D.不可分割的单位2.数据的四种基本存储结构是指()A.顺序存储结构、索引存储结构、直接存储结构、倒排存储结构B顺序存储结构、索引存储结构、链式存储结构、散列存储结构C顺序存储结构、非顺序存储结构、指针存储结构、树型存储结构D.顺序存储结构、链式存储结构、树型存储结构、图型存储结构16.数据表示和_是程序设计者所要考虑的两项基本任务。17.一个算法通常可从正确性、易读性、健壮性和_等四个方面评价、分析。1.若要描述数据处理的变化过程,其正确的次序应为( )A.处理要求、基本运算和运算、算法 B.处理

7、要求、算法、基本运算和运算C.基本运算和运算、处理要求、算法 D.算法、处理要求、基本运算和运算2.从运算类型角度考虑,属于引用型的运算是( )A.插入、删除B.删除、修改 C.查找、读取D.查找、删除16.算法通常可分为程序、伪语言算法和_三种类型。17.时间复杂性描述量级中,若某算法达到_量级,则该算法通常是不可计算的。1.数据的四种基本逻辑结构是指( )A.数组、链表、树、图形结构 B.线性表、链表、栈队列、数组广义表C.线性结构、链表、树、图形结构 D.集合、线性结构、树、图形结构2.数据结构中,通常采用两种方法衡量算法的时间复杂性,即( )A.最大时间复杂性和最小时间复杂性B.最好时

8、间复杂性和最坏时间复杂性C.部分时间复杂性和总体时间复杂性 D.平均时间复杂性和最坏时间复杂性16.根据不同的描述方式,对数据的操作运算通常可分为加工型运算和_两种基本类型。17.数据结构中的算法,通常采用最坏时间复杂度和_两种方法衡量其效率。1.要将现实生活中的数据转化为计算机所能表示的形式,其转化过程依次为()A.逻辑结构、存储结构、机外表示B.存储结构、逻辑结构、机外表示C.机外表示、逻辑结构、存储结构D.机外表示、存储结构、逻辑结构2.若评价算法的时间复杂性,比较对数阶量级与线性阶量级,通常()A.对数阶量级复杂性大于线性阶量级 B.对数阶量级复杂性小于线性阶量级C.对数阶量级复杂性等

9、于线性阶量级 D.两者之间无法比较16.从数据结构的观点,数据通常可分为三个层次,即:数据、数据元素和_。17.用程序设计语言、伪程序设计语言并混合自然语言描述的算法称为_算法。1下列数据组织形式中,()的各个结点可以任意邻接。A集合B树形结构 C线性结构D图状结构2设某二维数组A1.n,1.n,则在该数组中用顺序查找法查找一个元素的时间复杂性的量级为(AO(log2n)BO(n) CO(nlog2n)DO(n2)16下列程序段的时间复杂性量级是_。for (i=1;in; i+) for (j=1; jnext=pnextnext B.p=pnext C.p=pnextnext D.pnex

10、t=p5.向一个栈顶指针为hs的链栈中插入一个*s结点时,应执行的操作为() A.hsnext=s; B.snext=hs;hs=s; C.snext=hsnext;hsnext=s; D.snext=hs;hs=hsnext;6.设循环队列的元素存放在一维数组Q030中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。如果队列中元素的个数为11,front的值为25,则rear应指向的元素是() A.Q4 B.Q5 C.Q14 D.Q157.定义二维数组A18,010,起始地址为LOC,每个元素占2L个存储单元,在以行序为主序的存储方式下,某数据元素的地址为LOC+50

11、L,则在以列序为主序的存储方式下,该元素的存储地址为() A.LOC+28L B.LOC+36L C.LOC+50L D.LOC+52L18.在双链表中,存储一个结点有三个域,一个是数据域,另两个是指针域,分别指向_和_。 19.在有n个元素的链队列中,入队和出队操作的时间复杂度分别为_和_。 20.在栈结构中,允许插入的一端称为_;在队列结构中,允许插入的一端称为_。 21.在循环队列中,存储空间为0n-1。设队头指针front指向队头元素前一个空闲元素,队尾指针指向队尾元素,那么其队空标志为rear=front,队满标志为_。 3.在单链表中,存储每个结点需要有两个域,一个是数据域,另一个

12、是指针域,指针域指向该结点的() A.直接前趋 B.直接后继 C.开始结点 D.终端结点4.将两个各有n个元素的有序表合并成一个有序表,其最少的比较次数为() A.n B.2n-1 C.2n D.n25.栈和队列共同具有的特点是()A.都是先进后出 B.都是先进先出 C.只允许在端点进行操作运算 D.既能先进先出,也能先进后出6.若用一个有6个单元的数组来实现循环队列,rear和front的初值分别为0和3。则从队列中删除一个元素,再添加两个元素后,rear和front的值分别为() A.1和5 B.2和4 C.4和2 D.5和17.数组A0.50.5的每个元素占5个字节,将其以列为主序存储在

13、起始地址为1000的内存单元中,则元素A55的地址是() A.1175 B.1180 C.1205 D.121018.在一个长度为n的顺序表中第i个元素(1in)之前插入一个元素时,需向后移动_个元素。24.两个串是相等的,当且仅当两个串的长度相等且_的字符都相同。 34.设两个数据元素均为整型数据的线性表A=(a1,a2,an)和B=(b1,b2,bm)。若n=m且ai=bi(i=1,2,,n)则认为A=B;若ai=bi(i=1,2,,j)且aj+1BJ+1,(Jnext-next!=h) p=p-next;p-next=h; 后(其中,p-next为p指向结点的指针域),则( )A.p-n

14、ext指针指向链尾结点 B.h指向链尾结点 C.删除链尾前面的结点 D.删除链尾结点 5.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为( ) A.236 B.239 C.242 D.2456.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是( )A.dceab B.decba C.edcba D.abcde7.元素大小为1个单元,容量为n个单元的非空顺序栈中,以地址高端为栈底,以top作为栈顶指针,则出栈处理后,top的值应修改为( ) A.top=top B.top=n-1 C.top=top-1 D.top=top+117.设

15、双链表中结点的前趋指针和后继指针的域名分别为t1和r1,指针s指向双链表中的一个结点(该结点既非头结点,也非尾结点),则删除s指针所指向结点的操作为“s-tl-r1=s-r1;”和“_”。32.如题32图所示,在栈的输入端有6个元素,顺序为A,B,C,D,E,F。能否在栈的输出端得到序列DCFEBA及EDBFCA?若能,给出栈操作的过程,若不能,简述其理由。 35.某带头结点的单链表的结点结构说明如下: typedef struct node1 int data; struct node1 *next node;试设计一个算法int copy(node *head1, node *head2)

16、,将以head1为头指针的单链表复制到一个不带头结点且以head2为头指针的单链表中。3.设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为( )A.5 B.6 C.7 D.94.设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用pllink和prlink表示,则同样表示p指针所指向结点的表达式是( )A.pllink B.prlink C.pllinkllink D.pllinkrlink5.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是( )A. 110 B. 108 C. 100 D. 1206.设有一个栈,按A、

17、B、C、D的顺序进栈,则可能为出栈序列的是( )A.DCBA B.CDAB C.DBAC D.DCAB7.在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top为栈顶指针,则当做出栈处理时,top变化为( )A.top+ B.top- C.top不变 D.top=017.设有指针head指向不带表头结点的单链表,用next表示结点的一个链域,指针p指向与链表中结点同类型的一个新结点。现要将指针p指向的结点插入表中,使之成为第一个结点,则所需的操作为“pnext=head;”和“_”。18.单链表中逻辑上相邻的两个元素在物理位置上_相邻。19.在一个长度为n的数组中删除第i个

18、元素(1in)时,需要向前移动的元素的个数是_。31.如题31图所示,输入元素为A,B,C,在栈的输出端得到一个输出序列ABC,试写出在栈的输入端三个可能的输入序列。34.下面程序段为删除循环链表中第一个info域值等于x的结点,请填上程序中缺少的部分。循环链表的结构如题34图所示:struct node int info;struct node *link; int Delete (struct node *head, int x) struct node *p, *q; /*p:当前处理的结点;q:p的前驱结点*/ if (! head ) return (0);if (headlink

19、=head) if (headinfo=x) free (head); head=NULL; return (x) return (0); p=head; q=head; while (qlink!=head) q=(1) ; while (plink!=head) if (pinfo=x) (2) ; if (p=head) head=(3) ; free (p);return (x); else q=p ;(4) ; return (0);1关于栈和队列的说法中正确的是( )A栈和队列都是线性结构 B.栈是线性结构,队列不是线性结构 C.栈不是线性结构,队列是线性结构 D.栈和队列都不是线

20、性结构2关于存储相同数据元素的说法中正确的是( )A顺序存储比链式存储少占空间 B.顺序存储比链式存储多占空间C.顺序存储和链式存储都要求占用整块存储空间 D.链式存储比顺序存储难于扩充空间3从逻辑关系来看,数据元素的直接前驱为0个或1个的数据结构只能是( )A线性结构 B.树形结构 C.线性结构和树型结构 D.线性结构和图状结构4已知一个单链表中,指针q指向指针p的前趋结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行( )Aqnext=s;pnext=s;B.qnext=s;snext=p; C.qnext=s;qnext=p;D.qnext=s;snext=q;5在

21、长度为n的线性表中删除一个指针p所指结点的时间复杂度是( )AO(n) B.O(1) C.O(log2n) D.O(n2)6设一个栈的输入序列是a,b,c,d,则所得到的输出序列(输入过程中允许出栈)不可能出现的是( )Aa,b,c,d B.a,b,d,c C.d,c,b,a D.c,d,a,b7关于串的叙述中,正确的是( )A空串是只含有零个字符的串 B.空串是只含有空格字符的串C.空串是含有零个字符或含有空格字符的串 D.串是含有一个或多个字符的有穷序列8在具有m个单元的循环队列中,队头指针为front,队尾指针为rear,则队满的条件是( )Afront=rear B.(front+1)

22、%m=rear C.rear+1=front D.(rear+1)%m=front9设有二维数组Ann表示如下: , 则Aii(0in-1)的值为( )Ai*(i-1)/2 B.i*(i+1)/2 C.(i+2)*(i+1)/2 D.i2/218在顺序表上读表元算法的时间复杂度为_。19双链表中前驱指针为prior,后继指针为next,在指针P所指结点前插入指针S所指的结点,需执行下列语句:Snext=P;Sprior=Pprior;Pprior=S;_;20设数组A0.80.8的起始元素位置为a,每个元素占2 L个存储单元,按行序为主序存储。若元素Aij的存储位置为a+66 L,则元素Aji的存储位置为_。29有一字符串序列为5*-x-y/x+2,利用栈的运算将其输出结果变为5x-*yx+/-2,试写出该操作的入栈和出栈过程(采用push(a)表示a入栈,pop(a)表示a出栈)。34设单链表的结点结构如下:struct nodedatatype data;struct node*next;试编写一个函数int count(struct node *head,datatype x

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

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