数据结构习题及答案
第1章数据结构一、选择题1.算法指的是()。
A计算机程序B解决问题的计算方法C排序方法D解决问题的有限运算序列2.在数据的树形结构中,数据元素之间为()的关系。
A 0:0B 1:1C 1:nD m:n3.数据的存储结构包括顺序、链接、散列和()4种基本类型。
A索引B数组C集合D向量4.一个数组元素a[i]与()的表示等价。
A &a+iB *(a+i)C *a+iD a+i5.若只需要利用形参间接访问实参指针所指向的对象,而形参本身具有相应的存储空间,则应把形参变量说明为()参数。
A指针B引用C值D指针引用6.若只需要利用形参实现对实参值的拷贝,函数体操作形参时与实参无关,则应把形参变量说明为()参数。
A指针B引用C值D指针引用7.下面程序的时间复杂性的量级为()。
int i=0,s1=,s2=0;while(i++<n){if (i%2) s1+=i;else s2+=i;}A.O(1)B.O(1bn)C.O(n)D.O(2n)8.下面程序段的时间复杂度为()。
for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=i*j;A.O(m2)B.O(n2)C.O(m+n)D.O(m*n)9.执行下面程序段时,S语句的执行次数为()。
for(int i=1;i<=n;i++)for(int j=1,j<=i;j++)S;A.n(n-1)/2B.n(n+1)/2C.n2/2D.n10.在一个长度为n的顺序存储结构的线性表中,向第i个元素(1≤i≤n+1)位置插入一个元素时,需要从后向前依次后移()个元素。
A.n-iB.n-i+lC.n-i-lD.i11. 在一个长度为n的顺序存储结构的线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次后移()个元素。
A.n-iB.n-i+lC.n-i-lD.i12.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为()。
A.(n+1)/2B.n/2C.nD.n+113.在一个顺序表的表尾插入一个元素的时间复杂度为()。
A. O(n)B. O(1)C. O(n*n)D. O(lbn)14.在一个顺序表中的任何位置插入一个元素的时间复杂度为()。
A. O(n)B. O(n/2)C. O(1)D. O(n2)15.在一个单链表中删除p所指向结点的后继结点时,其算法的时间复杂度为()。
A. O(n)B. O(n/2)C. O(1)D. O(n2)16.线性表的链式存储比顺序存储更有利于进行()操作。
A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除17.线性表的顺序存储比链式存储更有利于进行()操作。
A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除18.在一个单链表中,若要在P所指向的结点之后插入一个新结点,则需要相继修改()个指针域的值.A.1B.2C.3D.419.在一个带头结点的循环双向链表中,若要在P所指向的结点之前插入一个新结点,则需要相继修改()个指针域的值。
A.2B.3C.4D.620.在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行()操作。
A. ph=p; p->next=ph;B. p->next=ph; ph=p;C. p->next=ph; p=ph;D. p->next=ph->next; ph->next=p;21.在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行()操作。
A. q->next=p->next; p->next=q;B. p->next=q->next; q=p;C. q->next=p->next; p->next=q;D. p->next=q->next; q->next=p;22.在一个单链表HL中,若要删除由指针q所指向结点的后继结点(若存在的话),则执行()操作。
A. p=q->next; p->next=q->next;B. p=q->next; q->next=p;C. p=q->next; q->next=p->next;D. q->next=q->next->next; q->next=q;23.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之后插入一个q指针所指向的结点,则需要对q->next赋值为()。
A. P->priorB. p->nextC. p->next->nextD.p->prior->prior24.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之前插入一个q指针所指向的结点,则需要对p->prior->next赋值为()。
A. qB. pC. p->nextD. p->prior25. 在一个带头结点的循环双向链表中,若要删除指针p所指向的结点则执行()操作。
A. p->prior->next=p->next; p->next->prior=p->prior;B. p->next->prior=p; p->next=p->next->next;C. p->prior->next=p; p->next=p->next->prior;D. p=p->next; p->prior->next=p->prior;26.栈的插入和删除操作在()进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置27.当利用大小为N的数组顺序存储一个栈时,假定用top==N表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。
A.top++B.top--C.top=0D.top=N-128.假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,用top=N+1表示栈空,该数组所存储的栈的最大长度为N,则表示栈满的条件为()。
A.top==1B.top==-1C.top=0D.top=N-129. 假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,用top==-1表示栈空,并已知栈未满,当元素x进栈时所执行的操作为()。
A.a[--top]=xB.a[top--]=xC.a[++top]=xD.a[top++]=x30. 假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,用top==-1表示栈空,并已知栈未空,当退栈并返回栈顶元素时所执行的操作为()。
A return a[--top]B return a[top--]C return a[++top]D return a[top++]31.假定一个链式栈的栈顶指针用top表示,该链式栈为空的条件()。
A.top!=NULL;B. top==top->next;C. top== NULL;D. top!= top->next;32.假定一个链式栈的栈顶指针用top表示,每个结点结构为,当p所指向的结点进栈时,执行的操作为()。
A. p->next=top; top=top->next;B. top=p; p->next=top;C. p->next=top->next; top->next=p;D. p->next=top; top=p;33.假定一个链式栈的栈顶指针用top表示,每个结点结构为,退栈时所执行的操作为()。
A.top->next=top;B.top=top->data;C.top=top->next;D. top->next=top->next->next;34.若让元素1,2,3,4依次进栈,则出栈次序不可能出现()的情况。
A.3,2,1,4B.2,1,4,3C.4,3,2,1D.1,4,2,3.35.在一个顺序循环队列中,队首指针指向队首元素的()位置。
A前一个B后一个C当前D最后36.当利用大小为N的数组循环存储一个队列时,该队列的最大长度为()。
A.N-2B.N-1C.ND.N+137.从一个顺序循环队列中删除元素时,首先需要()。
A.前移队首指针B.后移队首指针C.取出队首指针所指位置上的元素D.取出队尾指针所指位置上的元素38.假定一个顺序循环队列的队首和队尾指针分别用f和r表示,则判断队空的条件为()。
A.f+1==rB.r+1==fC.f==0D.f==r39.假定一个顺序循环队列存储于数组a[N],其队首和队尾指针分别用f和r表示,则判断队满的条件为()。
A.(r-1)%N==fB.(r+1)%N==fC.(f-1)%N==rD.(f+1)%N==r40.假定利用数组a[N]循环顺序存储一个队列,其队首和队尾指针分别用f和r表示,并已知队列未满,当元素x入列时所执行的操作为()。
A.a[++r%N]=xB.a[r++%N]=xC.a[--r%N]=xD.a[r--%N]=x41.假定利用数组a[N]循环顺序存储一个队列,其队首和队尾指针分别用f和r表示,并已知队列未空,当出列并返回队首元素时所执行的操作为()。
A.return a[++r%N]B.return a[--r%N]C.return a[++f%N]D.return a[f++%N]42.假定一个链式队列的队首和队尾指针分别为front和rear,则判断队空的条件为()。
A.front==rearB.front!=NULLC.rear!=NULLD.front==NULL43.假定一个链式队列的队首和队尾指针分别为front和rear,每个结点结构为,当出列时所进行的操作为()。
A.front=front->nextB.rear=rear->nextC.front->next =rear;rear=rear->nextD.front=front->next;front->next =rear;44.假定一个带头结点的循环链式队列的队首和队尾指针分别用front和rear表示,则判断对空的条件为()。
A.front=rear->nextB.rear==NULLC. front==NULLD. front ==rear45.假定一个链式队列的队首和队尾指针分别为front和rear,每个结点结构为包含值域data 和指针域next,则使p所指结点入列所执行的操作为()。
数据结构复习习题和答案(DOC)
第一章绪论一、单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和操作等的学科。
① A.操作对象 B.计算方法 C·逻辑存储 D.数据映象② A.结构 B.关系 C.运算. D.算法2.数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。
① A.算法 B.数据元素 C.数据操作 D.逻辑结构② A.操作 B.映象 C、存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构4·算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B.研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B.排序方法 C. 解决问题的有限运算序列 D.调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性 D.易读性、稳定性和安全性6. 线性表的逻辑顺序与存储顺序总是一致的,这种说法()。
A. 正确 B.不正确7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A. 必须是连续的 B.部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以8.数据结构通常是研究数据的()及它们之间的相互联系。
A.存储和逻辑结构 B.存储和抽象C.理想与抽象 D.理想与逻辑9.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构11.非线性结构是数据元素之间存在一种()。
数据结构习题集和答案
第1章绪论1、填空题1.常见的数据结构有集合,_线性__结构,__树形___结构,__图形__结构等四种。
2.常见的存储结构有__顺序存储_______结构,__链式存储____结构等两种。
3.数据的基本单位是_数据元素___,它在计算机中是作为一个整体来处理的。
4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,__线性结构____和__非线性结构___。
2、选择题1. 算法的计算量的大小称为计算的(B)。
A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C)A.问题的规模 B. 待处理数据的初态 C. A和B D. 以上都不对3.计算机算法指的是(1)(c),它必须具备(2)(B)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性4. 下面关于算法说法错误的是(D)A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的3、应用题1、给出以下算法的时间复杂度.void fun(int n){int i=1,k=100;while(i<n){k=k+1;i=i+2;}}时间复杂度为____O(n)_____。
2、给出以下算法的时间复杂度.void fun2(int n){int i=1,k=100;while(i<n){i=i*10;k=k+1;}}时间复杂度为____O(log n)___________。
第2章线性表1、填空题1. 线性表按照存储结构不同主要有两种实现方式,一种是__顺序_表,另一种是___链___表。
2.顺序表采用__随机___访问机制对数据元素进行访问。
3.若在单链表结点p的后面插入一个新的结点s,则其操作序列为:①____s->next=p->next_____________;②____p->next=s___________________;4.在单向链表中,若要删除某个结点p,一般要找到__p的前趋__结点,才能实现该操作。
数据结构习题及答案
数据结构习题习题一一、选择题1、数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的(B)和运算的学科。
A.结构B.关系C.运算D.算法2、在数据结构中,从逻辑上可以把数据结构分成(C)。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.逻辑结构和存储结构3、线性表的逻辑顺序和存储顺序总是一致的,这种说法(B)。
A.正确B.不正确C.无法确定D.以上答案都不对4、算法分析的目的是(C)。
A.找出算法的合理性B.研究算法的输人与输出关系C.分析算法的有效性以求改进D.分析算法的易懂性二、填空题1、数据是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,数据是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
例如,数学中所用到的整数和实数,文本编辑所用到的字符串等。
2、数据元素是数据的基本单位,有些情况下也称为元素、结点、顶点、记录等。
3、数据项是数据不可分割的最小单元,是具有独立含义的最小标识单位。
例如构成一个数据元素的字段、域、属性等都可称之为_数据项。
4、简而言之,数据结构是数据之间的相互关系,即数据的组织形式。
5、数据的逻辑结构是指数据之间的逻辑关系。
逻辑结构是从逻辑关系上描述数据,它与具体存储无关,是独立于计算机的。
因此逻辑结构可以看作是从具体问题抽象出来的数学模型。
6、数据的存储结构指数据元素及其关系在计算机存储器内的表示。
存储结构是逻辑结构在计算机里的实现,也称之为映像。
7、数据的运算是指对数据施加的操作。
它定义在数据的逻辑结构之上,每种逻辑结构都有一个数据的运算。
常用的有:查找、排序、插人、删除、更新等操作。
8、数据逻辑结构可以分为四种基本的类型,集合结构中的元素除了仅仅只是同属于一个集合_,不存在什么关系。
9、数据逻辑结构的四种基本类型中,线性结构_中的元素是一种一对一的关系,这种结构的特征是:若结构是非空集,则有且只有一个开始结点和一个终端结点,并且所有结点最多只能有一个直接前驱和一个直接后继。
数据结构练习题(含答案)(DOC)
数据结构练习题习题1 绪论单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。
①A.操作对象B.计算方法C.逻辑结构D.数据映象②A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是①的有限集合,R是D上的②有限集合。
①A.算法B.数据元素C.数据操作D.数据对象②A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成。
)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4. 算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性5. 计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法!② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。
2. 在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。
3. 在树形结构中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。
5. 线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。
数据结构习题与答案
C、便于插入和删除D、便于利用零散的存储器空间
3.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度为C。
A、O(log2n) B、O(1)
C、O(n) D、O(n2)
4.(1)静态链表既有顺序存储的特点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关;
4、线性结构的特征:逻辑上满足有且仅有一个开始结点和一个终端结点,且其余结点有且仅有唯一的一个直接前趋和一个直接后继。
5.数据的存储结构被分为顺序、链接、索引和散列4种。
6.存储结构是逻辑结构的存储实现,其基本目标是建立数据的机内表示。
7.数据表示任务是逐步完成的,即数据表示形式的变化过程是:机外表示→
A、带尾指针的非循环链表B、带尾指针的循环链表
C、带头指针的非循环链表D、带头指针的循环链表
2、若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是B。
A、1和5 B、2和4
C、4和2 D、5和1
3、设栈的输入序列为1、2、3、4,则C不可能是其出栈序列。
push (s,x); }
push (s,x); printf(x)
push(s,y); }
push(s,x);
push(s,'E');
push(s,x);
此题的输出结果是HELOLLL。
5、以下为单链表删除运算,分析算法,请在处填上正确的语句。
void delete_lkist(lklist head,int i)
D、q->next=p->next;q->prior=p;p->next=q;p->next=q;
最新版《数据结构》各章习题及答案
最新版《数据结构》各章习题及答案第一章绪论一、选择题1.组成数据的基本单位是()(A)数据项(B)数据类型(C)数据元素(D)数据变量2.数据结构是研究数据的()以及它们之间的相互关系。
(A)理想结构,物理结构(B)理想结构,抽象结构(C)物理结构,逻辑结构(D)抽象结构,逻辑结构3.在数据结构中,从逻辑上可以把数据结构分成()(A)动态结构和静态结构(B)紧凑结构和非紧凑结构(C)线性结构和非线性结构(D)内部结构和外部结构4.数据结构是一门研究非数值计算的程序设计问题中计算机的(①)以及它们之间的(②)和运算等的学科。
① (A)数据元素(B)计算方法(C)逻辑存储(D)数据映像② (A)结构(B)关系(C)运算(D)算法5.算法分析的目的是()。
(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性6.计算机算法指的是(①),它必须具备输入、输出和(②)等5 个特性。
① (A)计算方法(B)排序方法(C)解决问题的有限运算序列(D)调度方法② (A)可执行性、可移植性和可扩充性(B)可行性、确定性和有穷性(C)确定性、有穷性和稳定性(D)易读性、稳定性和安全性二、判断题1.数据的机内表示称为数据的存储结构。
()2.算法就是程序。
()3.数据元素是数据的最小单位。
()4.算法的五个特性为:有穷性、输入、输出、完成性和确定性。
()5.算法的时间复杂度取决于问题的规模和待处理数据的初态。
()三、填空题1.数据逻辑结构包括________、________、_________ 和__________ 四种类型,其中树形结构和图形结构合称为_____ 。
2.在线性结构中,第一个结点____前驱结点,其余每个结点有且只有______ 个前驱结点;最后一个结点______后续结点,其余每个结点有且只有 _______ 个后续结点。
3.在树形结构中,树根结点没有_______ 结点,其余每个结点有且只有_______个前驱结点;叶子结点没有 ________ 结点,其余每个结点的后续结点可以_________。
数据结构习题及答案
数据结构习题及答案第1章算法一、选择题1.算法的时间复杂度是指()。
A)执行算法程序所需要的时间B)算法程序中的指令条数C)算法执行过程中所需要的基本运算次数D)算法程序的长度2.算法的空间复杂度是指()。
A)算法程序的长度B)算法程序所占的存储空间C)算法执行过程中所需要的存储空间D)算法程序中的指令条数3.下面()的时间复杂度最好(即执行时间最短)。
logn)O()O(n ) B)A2logn2 ) D)O(n)C)O(n24.下面累加求和程序段的时间复杂度为()。
int sum(int a[],int n){int i, s=0;for (i=0;i<n;i++)< p="">s+=a[i];return s;}logn ) )O(A)O(1 ) B22))O(nC)O(n ) D中的算法,c[][]相加的结果存放到b[][]n阶矩阵5.下面是将两个n阶矩阵a[][]与。
该算法的时间复杂度为()void matrixadd(int a[][],intb[][],c[][],int n){int i,j;for (i=0;i<n;i++)< p="">for(j=0;j<n;j++)< p="">c[i][j]=a[i][j]+b[i][j];}nlog) )O(1 ) B)O(A22) )O(nO( n ) DC)。
6.下面程序段的时间复杂度为() 1int i=0,s1=0,s2=0;while(i<n)< p="">{if(i%2)s1+=i;elses2+=i;i++;}nlog) O(A)O(1 ) B)22) )O(nC)O(n ) D )。
7.下面程序段的时间复杂度为(int prime(int n){int i=1;int x=(int)sqrt(n);while(i<=x){i++;if(n%i==0)break;}if(i>x)return 1;elsereturn 0;}nlog) O(O(1 ) BA))2n) O()CO(n ) D))下面程序段的时间复杂度为(8.int fun(int n){int i=1,s=1;while(s<n)< p="">{i++;s+=i;}return i;}nlog)O(n/2) BA))O(2 2n) )O(C)O(n ) D9.下面程序段的时间复杂度为()int i,j,m,n,a[][];for(i=0;i<m;i++)< p="">for(j=0;j<n;j++)< p="">a[i][j]=i*j;22) )O(nA)O(m) BO(m+n) )C)O(m*n ) D )10. 下面程序段的时间复杂度为(int sum1(int n){int i,p=1,s=0;for(i=1;i<=n;i++){p*=i;s=s+p;}return s;}nlog) )O(A)O(1 ) B22)O(n ) D)O(nC)二、填空题复杂度。
数据结构习题与参考答案
习题1一、单项选择题1. 数据结构是指()。
A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。
A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3. 树形结构是数据元素之间存在一种()。
A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。
for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O(2n)C.O(n)D.O(3n)5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。
(1) A.找出数据结构的合理性 B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2) A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。
(1) A.计算方法 B.排序方法C.解决问题的有限运算序列D.调度方法(2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。
A.低B.高C.相同D.不好说8. 数据结构作为一门独立的课程出现是在()年。
A.1946B.1953C.1964D.19689. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。
A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对10. 计算机内部数据处理的基本单位是()。
A.数据B.数据元素C.数据项D.数据库二、填空题1. 数据结构按逻辑结构可分为两大类,分别是______________和_________________。
数据结构练习题及答案
数据结构练习题(一)一、单选题1.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时( )。
A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中( )是非线性结构。
A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在()位置。
脚注(10)表示用10进制表示。
A.688 B.678 C.692 D.6965.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( )。
A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )。
A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个。
A.1 B.2 C.3 D.49.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题1.通常从四个方面评价算法的质量:_________、_________、_________和_________。
2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。
数据结构(图)习题与答案
一、单选题1、设有5个结点的无向图,该图至少应有_________条边才能确保是一个连通图。
A.7B.8C.6D.5正确答案:A2、设图G=(V,VR),其中: V={A,B,C,D,G},VR={(A,C),(A,D),( B,C),(B,D) ,(G,C),(B,G)},则对应的图形为_________。
A.B.C.D.正确答案:C3、设某有向图中有n个顶点,则该有向图对应的邻接表中有_________个表头结点。
A.n-1B.n+2C.nD.n+1正确答案:C4、在一个无向图中所有顶点的度数之和等于所有边数的_________倍。
A.1B.2C.3D.1/2正确答案:B5、一个无向连通图的生成树是该连通图的_____。
A.极小连通子图B.强连通子图C.连通子图D.极大连通子图正确答案:A6、设某无向图中有n个顶点,则该无向图邻接矩阵的大小是_________。
A.n(n+1)/2B.(n-1)2C. n2D. (n+1)2正确答案:C7、设有n个顶点e条边的无向图,采用邻接矩阵作为物理结构,则删除与某顶点Vi 关联的所有边算法的时间复杂度为_________。
A.O(n2)B.O(n+e)C.O(n*e)正确答案:D8、设有n个顶点e条弧的有向图,采用邻接表作为物理结构,则求某顶点Vi度的算法的时间复杂度为_________。
A.O(n)B.O(n*e)C.O(n+e)D.O(n2)正确答案:C9、设无向图G=(V,E)和G'=(V',E'),如果G'是G的生成树,则下列说法中错误的是_____。
A.G'是G的连通分量B.G'是G的一个无环子图C.G'是G的极小连通子图且V=V'D.G'是G的子图正确答案:A10、设G是一个非连通的无向图,共有10条边,则该图至少有_____个顶点。
A.7B.6C.5D.8正确答案:B11、 n个顶点的有向图为强连通图时,至少含有________。
