数据结构 期末考试试卷 下载本文

数据结构

一、选择题

1.算法具有五个重要特性不包括__D____。

A有穷性 B确定性 C可行性 D易读性 2.在数据结构中,从逻辑上可以把数据结构分成____C___。 A动态结构和静态结构 B紧凑结构和非紧凑结构 C线性结构和非线性结构 D内部结构和外部结构 3.一个向量(即一批地址连续的存储单元)第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是_B_____。 A110 B108 C100 D120 4.线性表的顺序存储结构是一种____A__的存储结构。

A随机存取 B索引存取 C顺序存取 D散列存取

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

A必须是连续的 B部分地址必须是连续的C一定是不连续的 D连续或不连续都可以 6.不带头结点的单链表head为空的判定条件是_A___。 A. head= =NULL B. head->next= =NULL C. head->next= =head D. head!=NULL

7. 带头结点的单链表head为空的判定条件是__B__。 A. head= =NULL B. head->next= =NULL C. head->next= =head D. head!=NULL

8. 非空的循环单链表head的尾结点(由p所指向)满足_C___。 A. p->next= =NULL B. p= =NULL

C. p->next= =head D. p= =head

9. 在双向循环链表的p所指结点之后插入s所指结点的操作是__D__。

A. p->right=s; s->left=p; p->right->left=s; s->right=p->right;

1

B. p->right=s; p->right->left=s; s->left=p; s->right=p->right; C. s->left=p; s->right=p->right; p->right=s; p->right->left=s; D. s->left=p; s->right=p->right; p->right->left=s; p->right=s; 10. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若

在q和p之间插入s结点,则执行_B___。

A. s->next=p->next; p->next=s; D. p->next=s->next; s->next=p;

B. q->next=s; s->next=p; C. p->next=s; s->next=q; 11. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s

所指结点,则执行__B__。

A. s->next=p; p->next=s; B. s->next=p->next; p->next=s; C. s->next=p->next; p=s; D. p->next=s; s->next=p; 12. 在一个单链表中,若删除p所指结点的后续结点,则执行

__A__。

A. p->next= p->next->next; B. p= p->next; p->next= p->next->next;

C. p->next= p->next; D. p= p->next->next;

13. 一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列

是_C___。

A. edcba B. decba C. dceab D. abcde

14. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为

p1,p2,p3,…,pn,若p1=n,则pi为_C___。

A. i B. n=i C. n-i+1 D. 不确定 15. 栈结构通常采用的两种存储结构是_A___。 A. 顺序存储结构和链式存储结构 B.散列方式和索引方式 C.链表存储结构和数组

D.线性存储结构和非线性存储结构

16. 判定一个顺序栈ST(最多元素为m0)为空的条件是__B__。

2

A. top !=0 B. top= =0 C. top !=m0 D. top= =m0-1 17. 判定一个顺序栈ST(最多元素为m0)为栈满的条件是__D__。 A. top!=0 B. top= =0 C. top!=m0 D. top= =m0-1 18. 向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行

C__ __。 (不带空的头结点) A.HS—>next=s;

B. s—>next= HS—>next; HS—>next=s; C. s—>next= HS; HS=s;

D. s—>next= HS; HS= HS—>next;

19. 从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删

结点的值,则执行__ D __。(不带空的头结点)

A. x=HS; HS= HS—>next; B. x=HS—>data;

C. HS= HS—>next; x=HS—>data; D. x=HS—>data; HS=

HS—>next;

20. 一个队列的数据入列序列是1,2,3,4,则队列的出队时输出

序列是___B_ 。

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

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

__C__。

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

22. 判定一个循环队列QU(最多元素为m0, m0= =Maxsize-1)为满

队列的条件是_A___。

A. ((rear- front)+ Maxsize)% Maxsize = =m0

B. rear-front-1= =m0 C. front= =rear D. front= = rear+1 23. 循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分

别是front和rear,则当前队列中的元素个数是__A__。

3

A. (rear-front+m)%m B. rear-front+1 C. rear-front-1 D. rear-front 24. 栈和队列的共同点是_C___。

A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点

25. 二维数组A中,每个元素的长度为3个字节,行下标i从0到7,

列下标j从0到9,从首地址SA开始连续存放在存储器内,存放该数组至少需要的字节数是__C__。

A. 80 B. 100 C.240 D. 270

26. 二维数组A中,每个元素A的长度为3个字节,行下标i从0到7,

列下标j从0到9,从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A[4][7]的起始地址为__B__。 A. SA+141 B. SA+180 C. SA+222 D. SA+225

27. 假定在一棵二叉树中,双分支结点数为15,单分支结点数为30

个,则叶子结点数为 B 个。 A.15 B.16 C.17 D.47 28. 深度为5的二叉树至多有__B__个结点。 A. 16 B. 32 C. 31 D. 10

29. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉

树中所包含的结点数至少为_ C ___。 A. 2h B. 2h-1 C. 2h+1 D. h+1

30. 对一个满二叉树,m个树叶,n个结点,深度为h,则__D__ 。 A. n=h+m B. h+m=2n C. m=h-1 D. n=2h-1 31. 如果某二叉树的前根次序遍历结果为stuwv,中序遍历为

uwtvs,那么该二叉树的后序为_C___。

A. uwvts B. vwuts C. wuvts D. wutsv 35. 在线索化二叉树中,t所指结点没有左子树的充要条件是

_B___。

A. t—>left=NULL B. t—>ltag=1

4