c[i][j]=c[i][j]+a[i][k]*b[k][j]
;
A.O(m×n×t)B.O(m+n+t)C.O(m+n×t)D.O(m×t+n)
102A1(9).顺序表的特点是(B)。
A.表中元素的个数为表长B.按顺序方式存储数据元素
C.逻辑结构中相邻的结点在存储结构中仍相邻D.按表中元素的次序存储
102C2(10).设顺序表共有n个元素,用数组elem存储,实现在第i个元素之前插入一个元素
e的操
作,其主要语句为(
D)。
A.FOR
j=n
DOWNTO
i
DO
elem[j]=elem[j+1]
;
elem[i]=e;
B.FOR
j=i
TO
n
DO
elem[j]=elem[j+1]
;
elem[i]=e;
C.FORj=iTOnDOelem[j+1]=elem[j];
elem[i]=e;
D.FORj=nDOWNTOiDOelem[j+1]=elem[j];
elem[i]=e;
102D2(11).顺序表有5个元素,设在任何位置上插入元素是等概率的,则在该表中插入一个元素时所需移动元素的平均次数为(C)。
A.3B.2C.2.5D.5
102D2(12).设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为(
A.9B.4.5C.7D.6
102D3(13).设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第
元素的存储地址为(B)。
C)。
14个
A.236B.239C.242D.245
102D2(14).设顺序表的第5个元素的存储地址为200,且每个元素占一个存储单元,则第
的存储地址为(B)。
A.208B.209C.210D.214
103D3(15).设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用
和p->rlink表示,则下列等式中(D)成立。
14个元素p->llink
A.p=p->llinkB.p=p->rlinkC.p=p->llink->llinkD.p=p->llink->rlink
103A1(16).线性表采用链式存储时,其地址(D)。
A.必须是连续的B.一定是不连续的C.部分地址必须是连续的D.连续与否均可以
103B1(17).线性表是(A)。
A.一个有限序列,可以为空B.一个有限序列,不可以为空C.一个无限序列,可以为空
D.一个无限序列,不可以为空
103B1(18).链式存储的线性表中的指针指向其(B)。
A.前趋结点B.后继结点C.物理前趋D.物理后继
103C2(19).设在链式存储的线性表中,设结点结构为datalink,欲在p结点后插入一个结点q的关
键步骤为(A)。
A.q->link=p->linkC.q->link=p->link
;
;
p->link=qq->link=p
;
;
B.p->link=q->linkD.p->link=q->link
;
;
p->link=qq->link=p
;
;
103C3(20).设有指针head指向的带表头结点的单链表,现将指针p指向的结点插入表中,使之成为
第一个结点,其操作是(A)(其中,p->next、head->next分别表示p、head所指结点的链域)。
A.p->next=head->next;head->next=p;B.p->next=head->next;C.p->next=head;head=p;D.p->next=head;p=head;104A1(21).在栈中,下列说法正确的是(A)。
head=p;
A.每次插入总是在栈顶,每次删除也总是在栈顶。
B.每次插入总是在栈顶,每次删除总是在栈底。
C.每次插入总是在栈底,每次删除总是在栈顶。
D.每次插入总是在栈底,每次删除也总是在栈底。
104B2(22).设有一个栈,按A、B、C的顺序进栈,则下列(C)为不可能的出栈序列。
A.ABCB.CBAC.CABD.ACB
104B2(23).设有一个栈,按A、B、C、D的顺序进栈,则下列(D)为可能的出栈序列。
A.DCABB.CDABC.DBACD.ACDB
104A2(24).顺序栈的上溢是指(B)。
A.栈满时作退栈运算B.栈满时作进栈运算C.栈空时作退栈运算D.栈空时作进栈运算
104D3(25).顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素
e进栈操作的主要语句为(D)。
A.s.elem[top]=e;s.top=s.top+1;B.s.elem[top+1]=e;s.top=s.top+1;
C.s.top=s.top+1;s.elem[top+1]=e;D.s.top=s.top+1;s.elem[top]=e;
104C2(26).设有5个元素A,B,C,D,E顺序进栈(进栈过程中可以出栈),出栈后依出栈次序进
入队列,已知其出队次序为D,C,E,B,A,则该栈容量必定不小于(C)。
A.2B.3C.4D.5
104B2(27).设栈S的初始状态为空,现有五个元素组成的序列1,2,3,4,5,对该序列在栈S上
依次进行PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH操作,出栈的元素序列是(C)。
A.5,4,3,2,1B.2,1C.2,3D.3,4
104B2(28).在一个具有n个单元的顺序栈中,假定以地址低端(即
顶指针,则当做出栈处理时,top变化为(C)。
0单元)作为栈底,以
top
为栈
A.top不变B.top=0C.top--D.top++
104D3(29).向一个栈顶指针为hs的链栈中插入一个*s结点时,应执行(B)。
A.hs->next=s;B.s->next=hs;hs=s;C.s->next=hs->next;hs->next=s;
D.s->next=hs;hs=hs->next;
105A1(30).在队列中,下列说法正确的是(
A)。
A.每次插入总是在队尾,每次删除总是在队头。
B.每次插入总是在队尾,每次删除也总是在队尾。
C.每次插入总是在队头,每次删除也总是在队头。
D.每次插入总是在队头,每次删除总是在队尾。
105D3(31).在带头结点的链队列q中,用q.front表示队头指针,q.rear表示队尾指针,结点结构
为datanext,删除链队列的队头结点的主要语句为(B)。
A.s=q.front;q.front->next=s.next;B.s=q.front->next;q.front->next=s.next;
C.s=q.front->next;q.front=s.next;D.s=q;q.front->next=s.next;
106C3(32).循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear
指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则队列满的条件为(D)。
A.sq.front=sq.rearB.sq.front=sq.rear+1C.(sq.front+1)modMAXSIZE=sq.rear
D.(sq.rear+1)modMAXSIZE=sq.front
106C2(33).循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear
指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则在队列未满时元素x入队列的主要操
作为(A)。
A.sq.rear=(sq.rear+1)modMAXSIZE;sq.elem[sq.rear]=x;
B.sq.elem[sq.rear]=x;sq.rear=(sq.rear+1)modMAXSIZE;
C.sq.front=(sq.front+1)modMAXSIZE;sq.elem[sq.front]=x;
D.sq.elem[sq.front]=x;sq.front=sq.front+1;
106B2(34).循环队列sq中,用数组elem[0‥25]存放数据元素,sq.front指示队头元素的前一个位
置,sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元
素个数为(D)。
A.8B.16C.17D.18
106B2(35).设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,
个位置,rear指示队尾元素。
如果队列中元素的个数为11,front的值为
素。
front指示队头元素的前一
25,则rear应指向(B)元
A.Q[4]B.Q[5]C.Q[14]D.Q[15]
105A1(36).队列操作的原则是(A)。
A.先进先出B.后进先出C.只能进行插入D.只能进行删除
105B2(37).一个队列的入列序列是1234,则队列的输出序列是(B)。
A.4321B.1234C.1432D.3241
108C2(38).设6行8列的二维数组
A6×8=(aij)按行优先顺序存储,若第一个元素的存储位置为
200,
且每个元素占
3个存储单元,则元素
a54的存储位置为(B)。
A.308B.305
C.266
D.269
109C2(39).设有一个10阶的对称矩阵
A,采用压缩存储方式,以行序为主存储,
a11为第一个元素,
其存储地址为
1,每元素占1个地址空间,则
a85的地址为(B)。
A.13B.33
C.18
D.40
108A1(40).设二个数组为
A[0‥7]、B[-5‥2,3‥8],则这两个数组分别能存放的字符的最大个数是
(C)。
A.7和35
B.1和5
C.8和48
D.1和6
108C3(41).二维数组M[i,j]的元素是
4个字符(每个字符占一个存储单元)组成的串,行下标
i的
范围从0到4,列下列j的范围从
0到5。
M按行存储时元素
M[3,5]的起始地址与
M按列存储时
元素(B)的起始地址下同。
A.M[2,4]
B.M[3,4]
C.M[3,5]
D.M[4,4]
108C2(42).设二维数组为
M[0‥8,0‥10],每个元素占2L
个存储单元,以行序为主序存储,第一
个元素的存储位置为P。
存储位置为
P+50L的元素为(A)。
A.M[2,3]
B.M[2,2]
C.M[3,3]
D.M[3,4]
108C2(43).设二维数组
A的维数界偶定义为[1‥8,0‥10],起始地址为LOC,每个元素占2L
个存
储单元,以行序为主序存储方式下,某数据元素的地址为
LOC+50L,则在列序为主序存储方式下,
该元素的存储地址为(
D)。
A.LOC+28L
B.LOC+36L
C.LOC+50LD.LOC+52L
109B2(44).数组A[1‥40,1‥30]采用三元组表示,设数组元素与下标均为整型,则在非零元素个数
小于(D)时,才能节省存储空间。
A.1200B.401
C.399
D.400
108A1(45).一维数组通常采用顺序存储结构,这是因为(
C)。
A.一维数组是一种线性数据结构
B.一维数组是一种动态数据结构
C.一旦建立了数组,则数组中的数据元素之间的关系不再变动
D.一维数组只能采用顺序存储结构
109A1(46).对稀疏矩阵进行压缩存储的目的是(
B)。
A.方便存储
B.节省存储空间
C.方便运算
D.节省运算时间
108D3(47).设二维数组
a[0‥5,0‥6]按行存储,每个元素占
d个存储单元,如果每个元素改为
2d
个存储单元,起始地址不变,则元素
a[2,6]的存储地址将要增加(A)个存储单元。
A.20dB.21d
C.38d
D.39d
108B2(48).一维数组与线性表的区别是(
A)。
A.前者长度固定,后者长度可变
B.后者长度固定,前者长度可变
C.两者长度均固定
D.两者长度均可变
107A1(49).下列关于串的叙述中,不正确的是(
B)。
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
107B2(50).以下论断正确的是(
A)。
A.“”是空串,“”是空白串
B.“BEIJING”是“BEIJING”的子串
C.“something”<“Somethig”
D.”BIT”=”BITE”
107B2(51).字符串“VARTYPEunsignedint”若采用动态分配的顺序存储方法需要(
C)个字节(假
设每种数据均占用2个字节)。
A.38
B.动态产生,视情况而定
C.40
D.42
111A1(52).由3个结点可以构造出(
A)种不同形态的有向树。
A.2B.3C.4D.5
111A1(53).下列树的度为(B)。
A.2B.3C.5
D.8
112C2(54).含10个结点的二叉树中,度为0的结点有4个,则度为
A.3B.4C.5D.6
111B2(55).对一棵有100个结点的完全二叉树按层编号,则编号为
(A)。
2的结点有(A)个。
49的结点,它的左孩子的编号为
A.98B.99C.97D.50
112B2(56).一棵深度为8(根的层次号为1)的满二叉树有(
A.256B.255C.128D.127
112C3(57).设二叉树根结点的层数为1,若一棵高(深)度为
点,则其结点数至少为(B)。
A.hB.2h-1C.2hD.2h+1
112C2(58).对下列二叉树进行先根次序遍历,所得次序为(
B)个结点。
h的二叉树只有度为
A)。
0与度为
2的结
A
B
E
C
F
D
A.ABCDEFB.ADCBFEC.BCDAFED.DCBFEA
112D3(59).一棵二叉树的前(先)序序列为ABCDEFG,则它的中序序列不可能为(C)。
A.CBDAFEGB.DCBAEFGC.CDBAGEFD.BDCAFGE
112A1(60).若先序遍历二叉树的结果为结点序列A,B,C,则有(C)棵不同的二叉树可以得到这
一结果。
A.3B.4C.5D.6
111B2(61).具有n个结点的二叉树,有(B)条边。
A.nB.n-1C.n+1D.2n
112C2(62).在具有n个结点的二叉树的二叉链表表示中,
A.nB.n-1C.n+1D.2n
114B2(63).对哈夫曼树,下列说法错误的是(B)。
2n
个孩子指针域中,只用到(
B)个域。
A.哈夫曼树是一类带树路径长度最短的树。
B.给出一组数,构造的哈夫曼树唯一。
C.给出一组数,构造的哈夫曼树的带树路径长度不变。
D.哈夫曼树的带权路径长度为每个叶子的路径长度与该叶子权值乘积之和。
111D3(64).假定在一棵二叉树中,双分支结点数为15个,单分支结点数为30个,则叶子结点数为(B)。
A.15B.16C.17D.47
113C3(65).假定一棵三叉树的结点数为50,则它的最小高度为(C)。
A.3B.4C.5D.6
114B2(66).由带权为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为(
A.23B.37C.46D.44
112C2(67).二叉树的先序遍历为EFHIGJK,中序遍历为HFIEJKG,则该二叉树根的右子树的根是
A.EB.FC.GD.H
111A1(68).在完全二叉树中,若一个结点是叶结点,则它没有(C)。
D)。
(C)。
A.左孩子结点B.右孩子结点C.左孩子和右孩子结点D.左孩子结点,右孩子结点和兄弟结点
113B2(69
).(B)二叉树,可以唯一地转化成一棵一般树。
A.根结点无左孩子
B.根结点无右孩子