计算机软件练习题汇总 联系客服

发布时间 : 星期三 文章计算机软件练习题汇总更新完毕开始阅读24b68adece2f0066f53322bf

else {

p->rear= ; tail=p->rear; p->data[tail]=x; return (1); }

}

int DEQUEUEQS(SeqQueue *p,datatype *px) {

datatype Member1;

if(p->front==p->rear) {printf(“\\n队列空啦!\\n”);return else{

p->front= ; Member1=p->data[p->front]; *px= ; return (1); } }

/*文件myqueue.h*/ /*测试程序部分*/ #include #include \void main() {

int i,abc[10]={9,8,7,6,5,4,3,2,1,10}; datatype in1,out1; SeqQueue myQue,*pQ; pQ=&myQue; SETNULLQS(pQ);

printf(“进入队列的元素依次是:\\n”); for(i=1;i<=10;i++) {

printf(“%d\\t”,abc[i-1]); in1=abc[i-1];

ENQUEUEQS(pQ,in1); }

printf(“\\n从队列中删除的元素依次是:\\n”); for(i=1;i<=10;i++) {

in1=abc[i-1];

DEQUEUEQS(pQ,&out1); printf(“%d\\t”,out1); }

0);} (}

6. 下面一段程序的功能是完成线性表的插入操作运算(要在线性表的第i个位置插入元素)

请仔细阅读程序,完成两个要求:

(1) 在画线空白处填入合适的语句,使得整个程序完整; (2) 请画出以下程序的流程图。 #define Maxlen 1024 struct sqlisttp { int elem[maxlen]; int last; } sqlisttp;

int Insert(sqlisttp L, int i, int x) { int k; if(i<1|| i>v.last+1)

printf(“插入位置不合适!\\n”) else if(v.lat>=maxlen-1) printf(“线性表已满!\\n”) else { for(k=v.last; k>=i; k--) ; ; ; } }

非线性数据结构部分:

一、填空题

1. 不考虑顺序的3个结点可构成 种不同形态的树, 种不同形态的二叉树。 2. 已知某棵完全二叉树的第4层有5个结点,则该完全二叉树叶子结点的总数

为: 。

3. 已知一棵完全二叉树的第5层有3个结点,其叶子结点数是 。

4. 一棵具有110个结点的完全二叉树,若i=54,则结点i的双亲编号是 ;结点i

的左孩子结点的编号是 ,结点i的右孩子结点的编号是 。

5. 一棵具有48个结点的完全二叉树,若i=20,则结点i的双亲编号是______;结点i

的左孩子结点编号是______,右孩子结点编号是______。 6. 在有n个叶子结点的Huffman树中,总的结点数是:______。

7. 图是一种非线性数据结构,它由两个集合V(G)和E(G)组成,V(G)是______的非空有限

集合,E(G)是______的有限集合。

8. 遍历图的基本方法有 优先搜索和 优先搜索两种方法。 9. 图的遍历基本方法中 是一个递归过程。

10. n个顶点的有向图最多有 条弧;n个顶点的无向图最多有 条边。 11. 在二叉树的二叉链表中,判断某指针p所指结点是叶子结点的条件是 。 12. 在无向图G的邻接矩阵A中,若A[i,j]等于1,则A[j,i]等

于 。

二、单项选择题

1. 树型结构的特点是:任意一个结点:( )

A、可以有多个直接前趋 B、可以有多个直接后继 C、至少有1个前趋 D、只有一个后继 2. 如下图所示的4棵二叉树中,( )不是完全二叉树。

A B C D

3. 深度为5的二叉树至多有( )个结点。

A、16 B、32 C、31 D、10 4. 64个结点的完全二叉树的深度为:( )。

A、8 B、7 C、6 D、5 5. 将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编

号,根结点编号为1,则编号为49的结点的左孩子的编号为:( )。 A、98 B、99 C、50 D、48 6. 在一个无向图中,所有顶点的度之和等于边数的( )倍。 A、1/2 B、1 C、2 D、4

7. 设有13个值,用它们组成一棵Huffman树,则该Huffman树中共有( )个结点。 A、13 B、12 C、26 D、25

8. 若对一棵有16个结点的完全二叉树按层编号,则对于编号为7的结点x,它的双亲结

点及右孩子结点的编号分别为( )。

A、2,14 B、2,15 C、3,14 D、3,15

9. 若对一棵有20个结点的完全二叉树按层编号,则对于编号为5的结点x,它的双亲结

点及左孩子结点的编号分别为( )。

A、2,11 B、2,10 C、3,9 D、3,10 10. 将一棵有100个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编

号,根结点编号为1,则编号最大的非叶结点的编号为:

A、48 B、49 C、50 D、51 11. 无向图的邻接矩阵是一个( )。 A、对称矩阵 B、零矩阵 C、上三角矩阵 D、对角矩阵 12. 由64个结点构成的完全二叉树,其深度为:( )。 A、8 B、7 C、6 D、5

13. 若对一棵有16个结点的完全二叉树按层编号,则对于编号为7的结点x,它的双亲结

点及右孩子结点的编号分别为( )。

A、2,14 B、2,15 C、3,14 D、3,15 14. 图示二叉树的中序遍历序列是:( ) a

b c

d g

e

f

A、abcdgef B、dfebagc C、dbaefcg D、defbagc 15. 图示二叉树的后序遍历序列是:( )

A

B C

E D

G F

H

A、ABCDEFGH B、BDAFEHGC C、DBFHGECA D、HGFEDCBA

16. 邻接表是图的一种( )。

A、顺序存储结构 B、链式存储结构 C、索引存储结构 D、散列存储结构 17. 给定有向图如右图所示,则该图的一个强连通分量是:( )。 A、{A,B,C,F} B、{B,C,F} C、{B,C,D,F} D、{C,D,E,F}

18. 已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应该: A、将邻接矩阵的第i行删除 B、将邻接矩阵的第i行元素全部置为0 C、将邻接矩阵的第i列删除 D、将邻接矩阵的第i列元素全部置为0