搜档网
当前位置:搜档网 › 数据结构考试复习题

数据结构考试复习题

数据结构考试复习题
数据结构考试复习题

一、填空题

1、数据结构被形式地定义为(D, R),其中D是的有限集合,R是D上的有限集合。

2、一个算法的效率可分为复杂性和复杂性。

3、向一个长度为n的线性表的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动___ _____个元素。

4、在一个循环队列中,队首指针指向队首元素的位置。

5、在具有n个单元的循环队列中,队满时共有个元素。

6、向栈中压入元素的操作是先,后。

7、称为空串;称为空格串。

8、假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为;末尾元素A57的第一个字节地址为;若按行存储时,元素A14的第一个字节地址为;若按列存储时,元素A47的第一个字节地址为。

9、设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。

10、线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。设有100个结点,用二分法查找时,最大比较次数是。

11、散列法存储的基本思想是由决定数据的存储地址。

12、在线性结构、树结构和图结构中,前驱和后继结点之间分别存在着、

和的联系。

13、在线性表的单链表存储中,若一个元素所在结点的地址为p,则其后继结点的地址为

,若假定p为一个数组a中的下标,则其后继结点的下标的。

14、在初始化一个稀疏矩阵的函数定义中,矩阵形参应说明为参数。

15、栈又称为表,队列又称为表。

16、后缀表达式“4 5+3*2 4+ *”的值为。

17、一棵深度为5的满二叉树中的结点数为个,一棵深度为3的满四叉树中的结点数为个。

18、对关键字序列(50,34,92,19,11,68,56,41,79)进行直接插入排序,当将第7个关键字56插入到当前的有序子表中时,为寻找插入位置需进行___ ______次关键字之间的比较。

19、从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明

,若元素的值小于根结点的值,则继续向查找,若元素的大于根结点的值,则向查找。

20、当向一个小顶堆插入一个具有最小值的元素时,该元素需要逐层调整,直到被调整到位置为止。

21、对于一个具有n个顶点的图,若采用邻接炬阵表示,则矩阵大小为。

22、对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为

和。

23、从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为和。

24、每次从无序中表示顺序取出一个元素,把插入到有序表中的适当位置,此种排序方法叫做___ _______排序,每次从无序中表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做____ _______排序。

25、若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为。

26、在一棵二叉排序树中,每个分支点的左子树上所有结点的值一定___ ___该结点的值,右子树上所有结点的值一定___ __________该结点的值。

27、在归并排序中,进行每趟归并的时间复杂度为,整个排序过程的时间复杂度为,空间复杂度为。

28、在如图所示的链表中,若在指针p所指的结点之后插入数据域值相继为a和b的两个结点,则可用下列两个语句实现该操作,它们依次是___ ___和________ __________。

29、在一个长度为n的循环链表中,删除其元素值为x的结点的时间复杂度(考虑等概率 )为______。

30、已知指针p指向某单链表中的一个结点,则判别该结点有且仅有一个后继结点的条件是______。

31、如果入栈序列是1,3,5,…,97,99,且出栈序列的第一个元素为99,则出栈序列中第30个元素为______。

32、假设以行优先顺序存储三维数组A[5][6][7],其中元素A[0][0][0]的地址为1100,且每个元素占2个存储单元,则A[4][5][6]的地址是______。

33、已知一棵二叉树的先序序列为ABCD,中序序列为BCAD,则它的后序序列为______。

34、在含n个顶点的连通图中,任意两个不同顶点之间的一条简单路径最多包含______条边。

35、对关键字序列(50,34,92,19,11,68,56,41,79)进行直接插入排序,当将第7

个关键字56插入到当前的有序子表中时,为寻找插入位置需进行______次关键字之间的比较。

36、对有序表进行二分查找的过程可用判定树来描述,其判定树的形态只取决于______。

37、若一个算法中的语句频度之和为T(n)=3720n+4nlogn,则算法的时间复杂度为_______。

二、判断题

()1. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

()2.满二叉树中所有结点个数是2k-1-1,其中k是树的深度。

()3. 栈和队列的存储方式既可是顺序方式,也可是链接方式。

()4.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。

()5.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。

()6. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。

()7.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。

()8. 具有12个结点的完全二叉树有5个度为2的结点。

()9. 线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。()10. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。

三、单项选择题

1.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:(A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构

2. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是

(A)110 (B)108 (C)100 (D)120

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

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

(B)在第i个结点后插入一个新结点(1≤i≤n)

(C)删除第i个结点(1≤i≤n)

(D)将n个结点从小到大排序

4. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素

(A)8 (B)63.5 (C)63 (D)7

5. 判定一个队列QU(最多元素为m0)为空队列的条件是

A.QU->rear -QU->front = = m0 B.QU->rear -QU->front -1= = m0 C.QU->front = = QU->rear D.QU->front = = QU->rear+1

6. 链表是一种采用存储结构存储的线性表;

(A)顺序(B)链式(C)星式(D)网状

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

(A)必须是连续的(B)部分地址必须是连续的

(C)一定是不连续的(D)连续或不连续都可以

8.线性表L在情况下适用于使用链式结构实现。

(A)需经常修改L中的结点值(B)需不断对L进行删除插入

(C)L中含有大量的结点(D)L中结点结构复杂

9. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若

p1=n,则pi为

A.i B.n=i C.n-i+1 D.不确定

10、在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移动个元素。

A n-i

B n-i+1

C n-i-1 C i

11、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为_________

A、24

B、48

C、72

D、53

12、假定一个顺序队列的队首和队尾指针分别为f和r,则判断队空的条件为。

A f+1= =r

B r+1= =f

C f= =0

D f= =r

13、从堆中删除一个元素的时间复杂度为。

A O(1)

B O(n)

C O(1og2n)

D O(nlog2n)

14、若需要利用形参直接访问实参,则应把形参变量说明为参数。

A.指针B.引用C.值

15.数据元素及其关系在计算机存储器内的表示,称为数据的( )

A.逻辑结构

B.存储结构

C.线性结构

D.非线性结构

16.某带头结点的单链表的头指针为head,判定该链表为非空的条件是( )

A.head==NULL

B.head->next==NULL

C.head!=NULL

D.head->next!=NULL

17.导致栈上溢的操作是( )

A.栈满时执行的出栈

B.栈满时执行的入栈

C.栈空时执行的出栈

D.栈空时执行的入栈

18.设数组A[m]为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则判定Q为空队列的条件是( )

A.(rear-front)%m= =1

B.front= =rear

C.(rear-front)%m= =m-1

D.front= =(rear+1)%m

19.假设S=″I AM A STUDENT″,则运算substr(S,4,8)的结果为( )

A.″M A S″

B.″M A STUD″

C.″A STUDEN″

D.″STUD″

20.假设一棵完全二叉树按层次遍历的顺序依次存放在数组BT[m]中,其中根结点存放在BT[0],若BT[i]中的结点有左孩子,则左孩子存放在( )

A.BT[i/2]

B.BT[2*i-1]

C.BT[2*i]

D.BT[2*i+1]

21.连通图是指图中任意两个顶点之间( )

A.都连通的无向图

B.都不连通的无向图

C.都连通的有向图

D.都不连通的有向图

22.对记录序列(314,298,508,123,486,145)依次按个位和十位进行两趟基数排序之后所得结果为( )

A.123,145,298,314,486,508

B.508,314,123,145,486,298

C.486,314,123,145,508,298

D.298,123,508,486,145,314

23.在待排关键字序列基本有序的前提下,效率最高的排序方法是( )

A.直接插入排序

B.快速排序

C.直接选择排序

D.归并排序

24.下列排序算法中,()算法可能会出现下面情况:初始数据有序时,花费的时间反而最多。

A、堆排序

B、冒泡排序

C、快速排序

D、SHELL排序

25.已知一个有向图如右所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序

列为( )

A.a d b e f c B.a d c e f b C.a d c b f e D.

a d e f

b c

26.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是()。

A、2 3 4 1 5

B、5 4 1 3 2

C、2 3 1 4 5

D、1 5 4 3 2

27.不可能生成右图所示二叉排序树的关键字序列是( )

A.4 5 3 1 2 B.4 2 5 3 1 C.4 5 2 1 3 D.4 2 3 1 5

28.ALV树是一种平衡的二叉排序树,树中任一结点的( )

A.左、右子树的高度均相同

B.左、右子树高度差的绝对值不超过1

C.左子树的高度均大于右子树的高度

D.左子树的高度均小于右子树的高度

29.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )

A.顺序存储结构

B.链式存储结构

C.索引存储结构

D.散列存储结构

四、简答题

1、已知如图所示的有向图,请给出该图的:

(1)每个顶点的入/出度;

(2)邻接矩阵;

(3)邻接表;

(4)逆邻接表。

2、假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。试为这8个字母设计哈夫曼编码。使用0~7的二进制表示形式是另一种编码方案。对于上述实例,比较两种方案的优缺点。

3、线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线性表L={23,17,47,05,31},若它以链接方式存储在下列100~119号地址空间中,每个结点由数据(占2个字节)和指针(占2个字节)组成,如下所示(其中U、X、V、Y、Z为相应结点指针域的指针):

其中指针X,Y,Z的值分别为多少?该线性表的首结点起始地址为多少?末结点的起始地址为多少?

4、己知一个带权图的顶点集V和边集6分别为:

V={0,1,2,3,4,5,6,7};

E={(0,1)8,(0,2)5,(0,3)2,(1,5)6,(2,3)25,(2,4)13,(3,5)9,(3,6)10,(4,6)4,(5,7)20;

则求出该图的最小生成树的权。

5、对于线性表(18,25,63,50,42,32,90,66)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为0的元素有个,散列地址为3的元素有个,散列地址为5的元素有个。

6、假定一组记录的排序码为(46,79,56,38,40,80,25,34),将其建立二叉排序树,对应二叉排序树的深度为,分支结点数为。

7、试推导一棵满k叉树(每个结点的度数为k或0)上的叶子结点数a与非叶子结点数b之间满足以下关系:a=(k-1)b+1

8、已知关键字序列在R[1..8]中的初始状态为 48 70 33 65 24 56 12 92

写出在将它进行堆排序过程中每一次数组R和堆树的状态。

9、已知树T的先序遍历序列为ABCDEFGHIJKL,后序遍历序列为CBEFDJIKLHGA。请画出树T。

10、试证明:若借助栈由输入序列1 2 …n得到的输出序列为p1,p2,…p n,(它是输入序列的一个排列),则在输出序列中不可能出现这样的情形:存在着i

五、写出下列程序段的输出结果(栈的元素类型SElemType为char)。

1、int f1(SSTable ST, KeyType kval)

{//ST为顺序查找表

low=1;high=ST.length;

while(low<=high)

{

mid=(low+high)/2;

if(kval==ST.elem[mid].key) return mid;

else

if(kval

else low=mid+1;

}

return 0;

}

函数f1的功能为_____________________________________________。

2、int f2(LinkQueue &Q, QelemType &e)

{//Q为一个带表头结点链队列

if(Q.front==Q.rear) return 0;

p=Q.front->next;

e=p->data;

Q.front->next=p->next;

if(Q.rear==p) Q.rear=Q.front;

delete p;

return 1;

}

函数f2的功能为_____________________________________________。

3、void f3(SqList &L)

{//L为一个顺序表且0下标不存放元素

for(i=1;i

{

j=i;

for(k=i+1;k<=L.length;k++)

if(L.r[k].key

if(i!=j)

{w=L.r[i]; L.r[i]=L.r[j]; L.r[j]=w;}

}

}

函数f3的功能为_____________________________________________。

4、void main( ){

Stack S;

char x,y;

InitStack(S);

x=’c’;y=’k’;

p ush(S,x); push(S,’a’); push(S,y);

pop(S,x); push(S,’t’); push(S,x);

p op(S,x); push(S,’s’);

while(!StackEmpty(S)){ pop(S,y);printf(y); };

printf(x);

}

结果:_____________________

5、写出下列程序段的输出结果(队列中的元素类型QElemT ype为char)。

void main( ){

Queue Q; Init Queue (Q);

Char x=’e’; y=’c’;

EnQ ueue (Q,’h’); En Q ueue (Q,’r’); En Q ueue (Q,’y’);

DeQueue (Q,x); EnQueue (Q,x);

DeQueue (Q,x); EnQ ueue (Q,’a’);

while(!QueueEmpty(Q)){ DeQueue (Q,y);printf(y); };

Printf(x);

}

结果:_____________________

六、算法填空(在下列算法的横线内填上适当的语句或表达式。)

1、直接选择排序

void selectsort (int R[ ] )

// 按递增序对R[ 0 ] ~R[n-1] 进行直接选择排序

{ int i, j, k, temp ;

for (i=0; i<= ; i++)

{ k=i ;

for (j= ; j<=n-1; j++)

if (R[ j ] R[ k ] )

k=j;

if ()

{ temp=R[ i ]; R[ i ] = ; R[ k ]=temp; }

}

}

2、中序遍历二叉树

设二叉树用二叉链表表示,以t为根指针,二叉链表结点的类型为node;栈s的元素类型

为指向node的指针类型, 栈容量m足够大。中序遍历的非递归算法如下:

struct node

{char data;

node *lc,*rc;

};

void preorder (node *t)

{ node *s[m] ,*p=t ;

int top =- 1;//置栈空

do

{ while (p!=NULL)

{ s[++top] = ;

;

}

if (top!= -1)

{p=s[top- -];

}

} while ((

) || ( p ! =NULL ));

———————

}

3、从一维数组A[n]中二分查找关键字为K的元素的递归算法,若查找成功则返回对应元素的下标,否则返回—1。

int Binsch(Elem Type A[],int low,int high,KeyType K)

{

if(low<=high)

{

int mid=(low+high)/2;

if(K= =A[mid].key);

else if(K

else ;

else return -1;

}

4、从一维数组A[n]上进行快速排序的递归算法。

void QuickSort(ElemType A[], int s, int t)

{

int i=s j=t+1;

ElemType x=A[s];

do {

do i++; while ( ); //填写一个循环条件

do j--; while (A[j].key>x.key);

if (i

{ ElemType temp=A[i]; A[i]=A[j]; A[j]=temp;}

} while (i

A[s]=A[j]; A[j]=x;

if (s

if (j+1

5、如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域tag,每当尾指针和头指针值相同时,以tag的值为0或1来区分队列状态是“空”还是“满”。请对下列函数填空,使其分别实现与此结构相应的入队列和出队列的算法。

int EnQueue(CirQueue *Q,DataType x){

if(__________________________) return 0;

Q->data[Q->rear]=x;

Q->rear=(Q->rear+1)% MAXQSIZE

Q->tag=________;

return 1;

}

int DeQueue(CirQueue *Q,DataType *x){

if(__________________________) return 0;

*x=Q->data[Q->front];

Q->front=______________________ ;

Q->tag=___________ ;

return 1;

}

6、已知具有n个结点的完全二叉树采用顺序存储结构存储在向量BT[1..n]中,结点的数据元素为字符类型,请阅读下列算法,并回答问题:

(1)假设向量BT中的内容为:

1 2 3 4 5 6

写出执行f31(BT,6)后的输出结果;

(2)说明该算法的功能。

void f31(char BT[],int n)

{ int i=1;

while(i>0)

if(i<=n) {

printf(″%c″, BT[i]);

i=i*2;

}else{

do {i=i/2;} while(i%2);

if(i>0) i++;

}

}

7、以下函数中,h是带头结点的双向循环链表的头指针。

(1)、说明程序的功能(函数值只能是0或1);

(2)、当链表中结点数分别为1和6(不包括头结点)时,请写出程序中while循环体的执行

次数。

int f(DListNode *h)

{

DListNode *p,*q;

int j=1;

p=h->next;

q=h->prior;

while(p!=q && p->prior!=q)

if(p->data==q->data)

{

p=p->next;

q=q->prior;

}

else j=0;

return j;

}

8、下列算法利用二分查找方法在有序表r中插入元素x,并保持表r的有序性,其中参数*n为表r的长度。请在空缺处填入合适的内容,使其成为一个完整的算法。

void BinInsert(SeqList r,int *n,DataType x)

{ int low=1,high=*n,mid,i;

while(low<=high)

{ mid= ___________________ ;

if (x.key

else _____________________ ;

}

for(i=*n; ________________ ;i--)

r[i+1]=r[i];

____________________________ ;

*n++;

}

七、算法设计

1、指出以下算法中的错误和低效(即费时)之处,并将它改写为一个既正确又高效的算法。

2、编写在以BST为树根指针的二叉排序树上进行查找值为item的结点的非递归算法,若查找item带回整个结点的值并返回1,否则返回0。

int Find(BtreeNode*BST,ElemType &item)

3、假设二叉树T采用如下定义的存储结构:

typedef struct node {

DataType data;

struct node *lchild,*rchild,*parent;

}PBinTree;

其中,结点的lchild域和rchild域已分别填有指向其左、右孩子结点的指针,而parent 域中的值为空指针(拟作为指向双亲结点的指针域)。请编写一个递归算法,将该存储结构中各结点的parent域的值修改成指向其双亲结点的指针。

数据结构考试试题及答案

数据结构 一、单选题 1. 计算机算法指的是(b )。 A.程序B.问题求解步骤的描述C.调度方法D.排序方法 2. 以下数据结构中,(a )个是非线性数据结构。 A.树B.字符串C.队D.栈 3. 对于顺序存储的线性表,访问元素和插入元素的时间复杂度分别为:(c )。 A.O(n) O(n) B.O(n) O(1) C.O(1) O(n) D.O(1) O(1) 4. 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(b )。 A.p->next=s;s->next=p->next B.s->next=p->next; p->next=s C.p->next=s;p->next=s->next D.p->next=s->next; p->next=s 5. n个顶点的有向图中,含有向边的数目最多为( d ) A.n-1 B.n C.n(n-1)/2 D.n(n-1) 6. 循环队列存储在数组A[0..m]中,则入队时的操作为( d ) A.rear=rear+1 B.rear=(rear+1)mod(m-1) C.rear=(rear+1)mod m D.rear=(rear+1)mod(m+1) 7. 字符串?ababaabab?的next函数为(d ) A.011232232 B.012341234 C.011122334 D. 011234234 8. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数为( b )A.9 B.11 C.15 D.不确定 9. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当以列为主序存放时,元素A[5,8]的首地址为( b )。A.BA+141 B.BA+180 C.BA+222 D.BA+225 10. n个顶点的带权无向连通图的最小生成树包含(b )个顶点 A.n-1 B.n C.n/2 D.n+1 11.有关二叉树的下列说法正确的是( b ) A.二叉树的度为2 B.一棵二叉树的度可以小于2 C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2 12.关键路径是AOE网中( a )。 A.从源点到汇点的最长路径B.从源点到汇点的最短路径 C.最长回路 D.最短路径(从源点到汇点的所有路径中,经过弧的数目最多的路径) 13.若查找每个记录的概率相等,则在具有n个记录的连续文件中采用顺序查找查找一个记录,其平均查找长度ASL为(c)。 A.(n-1)/2 B.n/2 C.(n+1)/2 D.n 14.就平均性能而言,目前最好的内部排序方法是(d ) A.冒泡排序B.希尔排序C.堆排序D.快速排序 15.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(d )A.head(tail(LS)) B.tail (head (LS) C.head(tail(head(tail(LS)))) D.head(tail(tail (head (LS)))) 17.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:( a ) A. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B. 在第i个结点后插入一个新结点(1≤i≤n)

数据结构考试题库

数据结构考试题库

绪论 一、填空题 1.数据的逻辑结构被分为集合、(线性结构)、(树形结构)和(图状结构)四种。 2.物理结构是数据结构在计算机中的表示,又称为(存储结构)。 3.数据元素的逻辑结构包括( 线性)、(树)和图状结构3种类型,树形结构和图状结构合称为(非线性结构)。 4.(数据元素)是数据的基本单位,(数据项)是数据不可分割的最小单位。 5.线性结构中元素之间存在(一个对一个)关系,树形结构中元素之间存在(一个对多个)关系,图状结构中元素之间存在(多个对多个)关系。 ?6.数据结构是一门研究非数值计算的程序设计问题中:计算机的(数据元素)以及它们之间的(关系)和(运筹)等的学科。 7.算法的五个重要特性为有穷性、确定性、(输入)、(输出)和(可行性)。 二、选择题 1.数据的不可分割的基本单位是(D)。 A.元素 B.结点 C.数据类型 D.数据项 *2.线性表的逻辑顺序与存储顺序总是一致的,这种说法(B)。 A.正确 B.不正确 C.不确定 D.无法选择 3.线性结构是指数据元素之间存在一种(D)。 精心整理,用心做精品2

A.一对多关系 B.多对多关系 C.多对一关系 D.一对一关系 4.在数据结构中,从逻辑上可以把数据结构分成(A)。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 5.线性表若采用链式存储结构时,要求内存中可用存储单元的 地址( D)。 A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续不连续都可以 三、简答题 1.算法的特性是什么。 答:有穷性确定性可行性有0或多个输入有1或多个输出线性结构 一、填空题 1.在一个长度为n的线性表中删除第i个元素(1≤i≤n)时,需向前移动(n-i)个元素。 2.从循环队列中删除一个元素时,其操作是(先移动队首指针,后取出元素)。 3.在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(p->next)。 4.在一个单链表中指针p所指向结点的后面插入一个指针q所指向的结点时,首先把(p->next)的值赋给q->next,然后(q->date)的值赋给p->next。 5.从一个栈删除元素时,首先取出(栈顶元素),然后再使(栈顶指针)减1。 6.子串的定位操作通常称做串的(模式匹配)。 精心整理,用心做精品3

2017年数据结构期末考试题及答案A

2017年数据结构期末考试题及答案 一、选择题(共计50分,每题2分,共25题) 1 ?在数据结构中,从逻辑上可以把数据结构分为 C 。 A. 动态结构和静态结构B?紧凑结构和非紧凑结构 C.线性结构和非线性结构 D .内部结构和外部结构 2?数据结构在计算机内存中的表示是指 A ° A. 数据的存储结构 B.数据结构 C.数据的逻辑结构 D .数据元 素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A. 逻辑B?存储 C.逻辑和存储 D.物理 4 .在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C ° A.数据的处理方法B?数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5. 在决定选取何种存储结构时,一般不考虑 A ° A.各结点的值如何B?结点个数的多少 C?对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6. 以下说法正确的是D ° A. 数据项是数据的基本单位 B. 数据元素是数据的最小单位 C. 数据结构是带结构的数据项的集合 D. —些表面上很不相同的数据可以有相同的逻辑结构 7. 在以下的叙述中,正确的是B ° A. 线性表的顺序存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C?栈的操作方式是先进先出 D.队列的操作方式是先进后出

8. 通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 A. 数据元素具有同一特点 B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C. 每个数据元素都一样 D. 数据元素所包含的数据项的个数要相等 9 ?链表不具备的特点是 A 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C?不必事先估计存储空间 D.所需空间与其长度成正比 10. 若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一 个结点,则采用 D 存储方式最节省运算时间。 A.单链表B ?给出表头指针的单循环链表 C.双链表D ?带头结点 的双循环链表 11. 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 A.单链表B .静态链表 C.线性链表 D .顺序存储结构 12 .非空的循环单链表head的尾结点(由p所指向)满足C 。 A. p—>next 一NULL B. p — NULL C. p—>next == head D. p = = head 13 .在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。 A .p—> prior-> prior=s B .p—> prior-> n ext=s C.s —> prior—> n ext = s D.s —> prior—> prior = s 14 .栈和队列的共同点是C 。 A.都是先进后出 B .都是先进先出 C.只允许在端点处插入和删除元素 D .没有共同点

《数据结构》期末考试试题及答案

数据结构》期末考试试题及答案 ( 2003-2004 学年第 2 学期 ) 单项选择题 1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C 7.图的 Depth-First Search (DFS ) 遍历思想实际上是二叉树( 法的推广。 (A )、先序 ( B )、中序 (C )、后序 (D )、层序 8.在下列链队列 Q 中,元素 a 出队的操作序列为( p=Q.front->next; p->next= Q.front->next; p=Q.front->next; Q.front->next=p->next; p=Q.rear->next; p->next= Q.rear->next; p=Q->next; Q->next=p->next; 9. Huffman 树的带权路径长度 WPL 等于( c ( A )、除根结点之外的所有结点权值之和1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为 ( c )。 (A ) 、正确性 (B ). 可行性 (C ). 健壮性 2.设 S 为 C 语言的语句 ,计算机执行下面算法时, for (i=n-1 ; i>=0 ; i--) for (j=0 ;j

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

数据结构C语言版期末考试试题(有答案)

“数据结构”期末考试试题 一、单选题(每小题2分,共12分) 1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。 A. HL=ps p一>next=HL B. p一>next=HL;HL=p3 C. p一>next=Hl;p=HL; D. p一>next=HL一>next;HL一>next=p; 2.n个顶点的强连通图中至少含有( )。 A.n—l条有向边 B.n条有向边 C.n(n—1)/2条有向边 D.n(n一1)条有向边 3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A.O(1) B.O(n) C.O(1Ogzn) D.O(n2) 4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。 A.24 B.48 C. 72 D. 53 5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。 A.整形 B.引用型 C.指针型 D.常值引用型· 6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。 A.O(n) B.O(1) C.O(n2) D.O(10g2n) 二、填空题(每空1分,共28分) 1.数据的存储结构被分为——、——、——和——四种。 2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。 3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。 4.在一棵高度为h的3叉树中,最多含有——结点。 5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。 7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。 8.表示图的三种存储结构为——、——和———。 9.对用邻接矩阵表示的具有n个顶点和e条边的图进行任一种遍历时,其时间复杂度为——,对用邻接表表示的图进行任一种遍历时,其时间复杂度为——。 10.从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为——和——· 11.假定对长度n=144的线性表进行索引顺序查找,并假定每个子表的长度均

自考数据结构试题真题

全国2011年1月高等教育自学考试 数据结构试题 课程代码:02331 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列选项中与数据存储结构无关的术语是() A.顺序表 B.链表 C.链队列 D.栈 2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是() A.n-1 B.n C.2n-1 D.2n 3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是() A.rear=(rear-1)%m; B.front=(front+1)%m; C.front=(front-1)%m; D.rear=(rear+1)%m; 4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是() A.堆栈 B.多维数组 C.队列 D.线性表 5.设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为() A.求子串 B.串联接 C.串匹配 D.求串长 6.对于广义表A,若head(A)等于tail(A),则表A为() A.( ) B.(( )) C.(( ),( )) D.(( ),( ),( )) 7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是 ()A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树

C.高度为n的二叉树 D.存在度为2的结点的二叉树 8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是() A.4 B.5 C.7 D.8 9.下列叙述中错误的是() A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次 B.图的遍历可以采用深度优先遍历和广度优先遍历 C.图的广度优先遍历只适用于无向图 D.图的深度优先遍历是一个递归过程 10.已知有向图G=(V,E),其中V={V1,V2,V3,V4},E={},图G的拓扑序列是() A.V1,V2,V3,V4 B.V1,V3,V2,V4 C.V1,V3,V4,V2 D.V1,V2,V4,V3 11.平均时间复杂度为O(n log n)的稳定排序算法是() A.快速排序 B.堆排序 C.归并排序 D.冒泡排序 12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是() A.(18,22,30,46,51,68,75,83) B.(30,18,22,46,51,75,83,68) C.(46,30,22,18,51,75,68,83) D.(30,22,18,46,51,75,68,83) 13.某索引顺序表共有元素395个,平均分成5块。若先对索引表采用顺序查找,再对块中元素进行顺序查找,则在等概率情况下,分块查找成功的平均查找长度是()A.43 B.79 C.198 D.200 14.在含有10个关键字的3阶B-树中进行查找,至多访问的结点个数为() A.2 B.3 C.4 D.5 15.ISAM文件系统中采用多级索引的目的是() A.提高检索效率 B.提高存储效率

数据结构复习资料,java数据结构期末考试

第二章算法分析 1.算法分析是计算机科学的基础 2.增长函数表示问题(n)大小与我们希望最优化的值之间的关系。该函数表示了该算法的时间复杂度或空间复杂度。增长函数表示与该问题大小相对应的时间或空间的使用 3.渐进复杂度:随着n的增加时增长函数的一般性质,这一特性基于该表达式的主项,即n 增加时表达式中增长最快的那一项。 4.渐进复杂度称为算法的阶次,算法的阶次是忽略该算法的增长函数中的常量和其他次要项,只保留主项而得出来的。算法的阶次为增长函数提供了一个上界。 5.渐进复杂度:增长函数的界限,由增长函数的主项确定的。渐进复杂度类似的函数,归为相同类型的函数。 6.只有可运行的语句才会增加时间复杂度。 7. O() 或者大O记法:与问题大小无关、执行时间恒定的增长函数称为具有O(1)的复杂度。 增长函数阶次 t(n)=17 O(1) t(n)=3log n O(log n) t(n)=20n-4 O(n) t(n)=12n log n + 100n O(n log n) t(n)=3n2+ 5n - 2 O(n2) t(n)=8n3+ 3n2O(n3) t(n)=2n+ 18n2+3n O(2n) 8.所有具有相同阶次的算法,从运行效率的角度来说都是等价的。 9.如果算法的运行效率低,从长远来说,使用更快的处理器也无济于事。 10.要分析循环运行,首先要确定该循环体的阶次n,然后用该循环要运行的次数乘以它。(n 表示的是问题的大小) 11.分析嵌套循环的复杂度时,必须将内层和外层循环都考虑进来。 12.方法调用的复杂度分析: 如:public void printsum(int count){ int sum = 0 ; for (int I = 1 ; I < count ; I++) sum += I ; System.out.println(sun); } printsum方法的复杂度为O(n),计算调用该方法的初始循环的时间复杂度,只需把printsum方法的复杂度乘以该循环运行的次数即可。所以调用上面实现的printsum方法的复 杂度为O(n2)。 13指数函数增长> 幂函数增长> 对数函数增长

数据结构期末考试试题及答案

《数据结构》期末考试试题及答案 (2003-2004学年第2学期) 单项选择题1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C 、 1. 对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为 (c )。 (A)、正确性但).可行性(C).健壮性 2 ?设S为C语言的语句,计算机执行下面算法时, for(i=n-1 ; i>=0; i--) for(j=0 ; jvi; j++) (A)、n2(B). O(nlgn) 3?折半查找法适用于( a (D). 输入性 算法的时间复杂度为(d S; (C). O(n) (D). )。 O(n2) (A)、有序顺序表(B)、有序单链表 (C)、有序顺序表和有序单链表都可以 4 .顺序存储结构的优势是( d )。 (A)、利于插入操作(B)、利于删除操作 (C)、利于顺序访问(D)、利于随机访问 5. 深度为k的完全二叉树,其叶子结点必在第 (A)、k-1 ( B)、k (C)、k-1 和 6. 具有60个结点的二叉树,其叶子结点有 (A)、11 ( B)、13 ( C)、48 (D)、无限制 c )层上。 (D)、1 至 k 12个,则度过1 (D)、37 k 的结点数为( 7 .图的Depth-First Search(DFS) 遍历思想实际上是二叉树( 法的推广。 (A)、先序(B)、中序(C)、后序(D)、层序 8.在下列链队列Q中,元素a出队的操作序列为( a )遍历方 front (A )、 (B )、 (C)、 (D )、p=Q.front->next; p->next= Q.front->next; p=Q.front->next; Q.front->next=p->next; p=Q.rear->next; p->next= Q.rear->next; p=Q->next; Q->next=p->next; 9. Huffman树的带权路径长度WPL等于( (A)、除根结点之外的所有结点权值之和(C)、各叶子结点的带权路径长度之和(B) 、 ) 所有结点权值之和 根结点的值 b ■

2015年数据结构期末考试题及答案

2012年数据结构期末考试题及答案 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为C。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指A。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的A结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。 A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑A。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是D。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是C,算法分析的两个主要方面是A。 (1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2)。

s =0; for(I =0;i<n;i++) for(j=0;j<n;j++) s +=B[i][j]; sum =s ; 9.下面程序段的时间复杂度是O(n*m)。 for(i =0;i<n;i++) for(j=0;j<m;j++) A[i][j] =0; 10.下面程序段的时间复杂度是O(log3n)。 i =0; while(i<=n) i =i * 3; 11.在以下的叙述中,正确的是B。 A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着B 。 A.数据元素具有同一特点 B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 13.链表不具备的特点是A。 A.可随机访问任一结点B.插入删除不需要移动元素 C.不必事先估计存储空间D.所需空间与其长度成正比 14.不带头结点的单链表head为空的判定条件是A。

数据结构考试题

一、选择题(共15题,每题2分,共计30分) 1、单链表的一个存储结点包含( C ) A.指针域和链域 B.指针域或链域 C.数据域或指针域 D.数据域和链域 2、采用线性链表表示一个向量时,要求占用的存储空间地址( D )。 A、必须是连续的 B、部分地址必须是连续的 C、一定是不连续的 D、可连续可不连续 3、当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为( B )。 A. n-2 B. n-1 C. n D. n+1 4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。 A、s→next = p→next; p→next = s; B、p→next = s; s→next k = q; C、p→next = s→next; s→next = p; D、q→next = s; s→next = p; 5、在数组A中,每一个数组元素A[i, j] 占用3个存储字,行下标i从1到8,列下标j 从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。 A、 80 B、 100 C、 240 D、 270 6、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。 A、栈 B、队列 C、循环队列 D、优先队列 7、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。 A、4, 3, 2, 1 B、2, 4, 3, 1 C、1, 2, 3, 4 D、3, 2, 1, 4 8.下述各类表中可以随机访问的是(D )。 A. 单向链表 B. 双向链表 C.单向循环链表 D.顺序表 9.在一个长度为n的顺序表中为了删除第5个元素,从前到后依次移动了15个元素。则原顺序表的长度为( B )。 A. 21 B. 20 C. 19 D. 25 10.元素1,3,5按顺序依次进栈,则该栈的不可能的输出序列是( B )。 A. 5 3 1 B. 5 1 3 C. 3 1 5 D. 1 5 3 11.一个队列的入队序列是5,6,7,8,则队列的输出序列是( A )。 A. 5 6 7 8 B. 8 7 6 5 C. 7 8 6 5 D.可能有多种情况 12.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句(C )。 A.p=q->next B.p->next=q C.p->next=q->next D.q->next=NULL 13.设一棵哈夫曼树共有n个非叶结点,则该树一共有( B )个结点。 A. 2*n-1 B. 2*n +1 C. 2*n D. 2*(n-1) 14.对如图1所示二叉树进行中序遍历,结果是( A )。 A. dfebagc B. defbagc C. defbacg D.dbaefcg

2017数据结构期末考试试题及答案

2017《数据结构》期末考试试题及答案 《数据结构》期末考试试题及答案 1 ................................................................. 2..试题 1 答案............................................................ 7..《数据结构》期末考试试题及答案 2 ................................................................. 9..试题 2 答案........................................................................ 1.. 4. 《数据结构》期末考试试题及答案 3 ............................................................... 1..6试题 3 答案........................................................................ 2.. 1.

数据结构》期末考试试题及答案 1 单选题(每题 2 分,共 20 分) 1. 栈和队列的共同特点是 ( )。 A. 只允许在端点处插入和删除元素 B. 都是先进后出 C. 都是先进先出 D. 没有共同点 2. 用链接方式存储的队列,在进行插入运算时 ( ). A. 仅修改头指针 B. 头、尾指针都要修改 C. 仅修改尾指针 D .头、尾指针可能都要修改 3. 以下数据结构中哪一个是非线性结构? ( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(io ), A[2][2]存放 若有18个元素的有序表存放在一维数组 A[19]中,第一个元素放A[1]中, 现进行二分查找,则查找 A [3]的比较序列的下标依次为( A. 1 , 2, 3 B. 9, 5, 2, 3 C. 9, 5, 3 D. 9, 4, 2, 3 8. 对n 个记录的文件进行快速排序,所需要的辅助存储空间大致为 A. O (1) B. O (n ) C. O ( 1 og 2n ) D. O (n2) 9. 对于线性表( 7, 34, 55, 25, 64, 46, 20, 10)进行散列存储时,若选 用 H (K )=K %9 作为散列函数,则散列地址为 1 的元素有( )个, 位置在 676(10),每个元素占一个空间, 表示用 10 进制表示。 问 A[3][3] (10)存放在什么位置?脚注 (10) 5. A .688 B .678 C . 692 D . 696 树最适合用来表示 ( )。 A.有序数据元素 B.无序数据元素 6. C.元素之间具有分支层次关系的数据 D .元素之间无联系的数据 二叉树的第 k 层的结点数最多为 ( ). A .2-1 B.2K+1 C.2K-1 D. 2k-1 7.

数据结构考试题

一、单项选择 1.数据结构是一门研究非数值计算的程序设计问题中,数据元素的①C 、数据信息在计算机中的② A 以及一组相关的运算等的课程。 ①A.操作对象B.计算方法C.逻辑结构D.数据映象 ②A.存储结构B.关系C.运算D.算法 2.以下数据结构中, D 是线性结构。 A.广义表B.二叉树C.稀疏矩阵D.串 3.从逻辑上可以把数据结构分为 C 两大类。 A.动态结构和静态结构B.顺序结构和链式结构 C.线性结构和非线性结构D.初等结构和构造型结构 4.以下数据结构中, D 是线性结构。 A.广义表B.二叉树C.稀疏矩阵D.串 5.以下数据结构中, D 是非线性结构。 A.栈B.二叉树C.队列D.字符串 6.数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是① B 的有限集合,R是D上的② D 有限集合。 ①A.算法B.数据元素C.数据操作D.数据对象 ②A.操作B.映象C.存储D.关系 7.线性表的顺序存储结构是一种① A 的存储结构, 线性表的链式存储结构是一种的② B 存储结构。 A.随机存取B.顺序存取C.索引存取D.散列存取 .

8.线性表的逻辑顺序与存储顺序总是一致的,这种说法__B _。 A. 正确 B. 不正确 9.下面那一条是顺序存储结构的优点? (A) A . 存储密度大 B. 插入运算方便 C. 删除运算方便 D. 可以方便的用于各种逻辑结构的存储表示 10.线性表采用链式存储结构时, 要求内存中可用的存储单元的地址. A . 必须是连续的 B. 部分地址必须是连续的 C. 一定不连续 D. 连续和不连续都可以 11.表长为n的顺序存储的线性表, 当在任何位置上插入和删除一个元素的概率相等时, 插入一个元素所需要移动元素的平均次数为 E , 删除一个元素所需要移动元素的平均次数为 A A. (n-1)/2 B.n C. n+1 D. n-1 E. n/2 F. (n+1)/2 G. (n-2)/2 12.带头结点的单链表head为空的判定条件是_B___。 A. head= =NULL B. head->next= =NULL C. head->next= =head D. head!=NULL 13.在一个单链表中, 若删除p所指向结点的后继结点, 则执行_A___。 A. p->next= p->next->next B. p=p->next; p->next= p->next->next C. p= p->next->next D. p= p->next 14.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为_C___。 A. i B. n=i C. n-i+1 D. 不确定 .

《数据结构》期末考试试卷

广东创新科技职业学院期末考试试题(标明A 卷、B 或C 卷) 2018 —2019 学年第二学期考试科目:《数据结构》 (闭(开)卷 90分钟) 院系____________ 班级____________ 学号___________ 姓名 __________ 一、选择题(每小题 2 分,共 40 分) 1.计算机识别、存储和加工处理的对象被统称为()。 A .数据 B .数据元素 C .数据结构 D .数据类型 2.数据结构指的是数据之间的相互关系,即数据的组织形式。数据结构一般包括()三方面内容。 A .数据的逻辑结构、数据的存储结构、数据的描述 B .数据的逻辑结构、数据的存储结构、数据的运算 C .数据的存储结构、数据的运算、数据的描述 D .数据的逻辑结构、数据的运算、数据的描述3.数据的逻辑结构包括()。 A .线性结构和非线性结构 B .线性结构和树型结构 C .非线性结构和集合结构

D .线性结构和图状结构 4.()的特征是:有且仅有一个开始结点和一个终端结点,且所有结点都最多只有一个直接前驱和一个直接后继。 A .线性结构 B .非线性结构 C .树型结构 D .图状结构 5. 评价一个算法时间性能的主要标准是()。 A .算法易于调试 B .算法易于理解 C .算法的稳定性和正确性 D .算法的时间复杂度 6. 下述程序段①中各语句执行频度的和是()。 s=0; ① for(i=1;i<=i;j++) s+=j; A .n-1 B .n C .2n-1 D .2n 7. 下面程序段的时间复杂度为()。 for(i=0;i

数据结构期末考试试题及答案

贵州大学理学院数学系信息与计算科学专业 《数据结构》期末考试试题及答案 (2003-2004学年第2学期) 一、单项选择题 1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。 (A)、正确性(B). 可行性(C). 健壮性(D). 输入性 2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。 for(i=n-1;i>=0;i--) for(j=0;jnext; p->next= Q.rear->next; (D)、p=Q->next; Q->next=p->next; 9. Huffman树的带权路径长度WPL等于() (A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和 (C)、各叶子结点的带权路径长度之和(D)、根结点的值 10.线索二叉链表是利用()域存储后继结点的地址。 (A)、lchild (B)、data (C)、rchild (D)、root 二、填空题

数据结构期末考试试题含复习资料

2005年-2006学年第二学期“数据结构”考试试题(A)姓名学号(序号)_答案隐藏班号 要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清晰姓名、班号和学号),需写清晰题目的序号。每张答题纸都要写上姓名和序号。 一、单项选择题(每小题2分,共20分) 1.数据的运算a 。 A.效率与采用何种存储结构有关 B.是根据存储结构来定义的 C.有算术运算和关系运算两大类 D.必须用程序设计语言来描述 答:A。 2.链表不具备的特点是 a 。 A.可随机访问任一结点 B.插入删除不需要移动元素 C.不必事先估计存储空间 D.所需空间与其长度成正比 答:参见本节要点3。本题答案为:A。 3.在顺序表中删除一个元素的时间复杂度为 c 。 A.O(1) B.O(log2n) C.O(n) D.O(n2) 答:C。 4.以下线性表的存储结构中具有随机存取功能的是d 。 A.不带头结点的单链表 B.带头结点的单链表 C.循环双链表 D.顺序表 解D。

5.一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c 。A.edcba B.decba C.dceab D.abcde 答:C。 6.循环队列qu的队空条件是 d 。 A. (qu.rear+1)%MaxSize==(qu.front+1)%MaxSize B. (qu.rear+1)%MaxSize==qu.front+1 C.(qu.rear+1)%MaxSize==qu.front D.qu.rear==qu.front 答:D。 7.两个串相等必有串长度相等且 b 。 A.串的各位置字符任意 B.串中各位置字符均对应相等 C.两个串含有相同的字符 D.两个所含字符任意 答:B。 8.用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是 c 。 A.94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90,80 C.21,32,46,40,80,69,90,94 D.90,69,80,46,21,32,94,40 答:C。 9.以下序列不是堆(大根或小根)的是 d 。 A.{100,85,98,77,80,60,82,40,20,10,66} B.{100,98,85,82,80,77,66,60,40,20,10} C.{10,20,40,60,66,77,80,82,85,98,100} D.{100,85,40,77,80,60,66,98,82,10,20}

数据结构考试题库含答案

数据结构习题集含答案 目录

选择题 第一章绪论 1.数据结构这门学科是针对什么问题而产生的(A ) A、针对非数值计算的程序设计问题 B、针对数值计算的程序设计问题 C、数值计算与非数值计算的问题都针对 D、两者都不针对 2.数据结构这门学科的研究内容下面选项最准确的是(D ) A、研究数据对象和数据之间的关系 B、研究数据对象 C、研究数据对象和数据的操作 D、研究数据对象、数据之间的关系和操作 3.某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那 么下面关于数据对象、数据元素、数据项描述正确的是(C ) A、某班级的学生成绩表是数据元素,90分是数据项 B、某班级的学生成绩表是数据对象,90分是数据元素 C、某班级的学生成绩表是数据对象,90分是数据项 D、某班级的学生成绩表是数据元素,90分是数据元素 4.*数据结构是指(A )。 A、数据元素的组织形式 B、数据类型 C、数据存储结构 D、数据定义 5.数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。 A、存储结构 B、逻辑结构 C、链式存储结构 D、顺序存储结构 6.算法分析的目的是(C ) A、找出数据的合理性 B、研究算法中的输入和输出关系 C、分析算法效率以求改进 D、分析算法的易懂性和文档型性

7.算法分析的主要方法(A )。 A、空间复杂度和时间复杂度 B、正确性和简明性 C、可读性和文档性 D、数据复杂性和程序复杂性 8.计算机内部处理的基本单元是(B ) A、数据 B、数据元素 C、数据项 D、数据库 9.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储 比顺序存储要(B )。 A、低 B、高 C、相同 D、不好说 10.算法的时间复杂度取决于( C ) A 、问题的规模B、待处理数据的初始状态 C、问题的规模和待处理数据的初始状态 D、不好说 11.数据结构既研究数据的逻辑结构,又研究物理结构,这种观点(B )。 A、正确 B、错误 C、前半句对,后半句错 D、前半句错,后半句对 12.在数据结构中,从逻辑上可以把数据结构分成( C ) A、动态结构和静态结构 B、紧凑结构和非紧凑结构 C、线性结构和非线性结构 D、内部结构和外部结构 13.线性表的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( A ) 存储结构。 A、随机存取 B、顺序存取 C、索引存取 D、散列存取 14.*下列程序的时间复杂度是(A ) for (i=1; i<=n; ++i){ for (j=1; j<=n; ++j){ c [i][j]=0;

相关主题