计算机科学基础.docx
- 文档编号:9473188
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:41
- 大小:28.11KB
计算机科学基础.docx
《计算机科学基础.docx》由会员分享,可在线阅读,更多相关《计算机科学基础.docx(41页珍藏版)》请在冰豆网上搜索。
计算机科学基础
[模拟]计算机科学基础
单选题
一个非零的无符号二进制整数,将各位依次左移3位,低位补零,则新的数是原来数的
(1) 倍;在此基础上,再右移2位,高位补零,则此时的数是原数的
(2) 倍。
补码表示中,最高位为符号位,一个以补码表示的正数,经(3) 后,可扩大4倍;一个以补码表示的负数,若经(4) 后,可扩大4倍,若经(5) 后,可缩小4倍。
第1题:
A.1000
B.50
C.8
D.4
参考答案:
C
第2题:
A.1000
B.4
C.8
D.2
参考答案:
D
第3题:
A.左移2位,低位补0
B.右移2位,低位补0
C.左移2位,低位补1
D.右移2位,低位补1
参考答案:
A
第4题:
A.左移2位,低位补0
B.右移2位,低位补0
C.左移2位,低位补1
D.右移2位,低位补1
参考答案:
A
第5题:
A.左移2位,高位补0
B.右移2位,高位补0
C.左移2位,高位补1
D.右移2位,高位补1
参考答案:
C
无符号数每左移一位相当于乘以2,新数是原来的8倍。
右移相当于除以2;正数的补码表示和原码一样,所以,一个以补码表示的正数,经左移2位,低位补0后,可扩大4倍;反码表示的负数,左移加倍时,低位需要补0;右移缩小时,高位需要补1。
将十进制数-35化成二进制数原码、补码、反码表示(符号位和数值位共8位)。
二进制数原码为:
(6) ,补码为(7) ;反码为(8)
第6题:
A.10100011
B.10100001
C.10110011
D.00100011
参考答案:
A
第7题:
A.11010101
B.1101110l
C.10011101
D.01011101
参考答案:
B
第8题:
A.11011101
B.1101110l
C.11011100
D.01011100
参考答案:
C
-35=-(32+2+1),所以二进制原码为10100011,变反加一后得到补码11011101;将原码各位取反,得到反码11011100。
第9题:
下面程序段的时间复杂度是(9) 。
for(i=0,k=0;<n;1++){
k+=A[i][j];
for(j=1;j<m;j++)
A[i][j]=1
}
A.O(n)
B.O(m+n+1)
C.O(m+n)
D.O(m*n)
参考答案:
D
时间复杂度是解决问题的时间和问题的规模之间的关系,即解决问题所耗费的时间随问题规模增长成怎样的增长对应关系。
本题中最内部的循环的执行次数为m*n,所以整段程序的复杂度为O(m*n)。
第10题:
在单链表中,指针P指向元素为x的结点,语句(10) 现“删除x的后继”
A.p=p→mext;
B.p→next=p→next→next;
C.p→next=p;
D.p=p→next→next;
参考答案:
B
“删除x的后继”只需使x的指针指向后继的下一个结点。
第11题:
某单循环链表头指针为head且表长大于1,指针p指向表中某个结点,若p→next→next=head,则(11) 。
A.p指向头结点
B.p指向尾结点
C.*p的直接后继是头结点
D.*P的直接后继是尾结点
参考答案:
D
因为p→next→next=head,所以p→next是尾结点,即*P的直接后继是尾结点。
第12题:
判定“带头结点的链队列为空”的条件是(12) 。
A.Q.front==NULL
B.Q.rear==NULL
C.Q.front==Q.rear
D.Q.front!
=Q.rear
参考答案:
C
带头结点的链队列的头指针和尾指针都不会为空,当它们都指向头结点时表示对列为空,即Q.front==Q.rear
第13题:
在一个单链表HL中,若要向表头插入一个由指针P指向的结点,则执行(13) 。
A.HL=p;p→next=HL;
B.p→next=HL;HL=p;
C.p→next=HL;p=HL;
D.P→next=HL→next;HL→next=p;
参考答案:
C
单链表头结点为HL,向表头插入一个由指针P指向的结点时,可以先让p指向HL,然后再将p赋给HL即可。
第14题:
n个顶点的强连通图中至少含有(14) 。
A.n-1条的向边
B.n条有向边
C.n(n-1)/2条有向边
D.n(n-1)条有向边
参考答案:
B
n个顶点的强连通图中边最少的情况是,从一个顶点开始顺序连接各点,最后回到该点,它们整体上恰好构成一个圆环。
此时有n条有向边。
第15题:
广义表A=((a,(h),(),(c,(d),e)))的深度为(15) 。
A.4
B.5
C.6
D.7
参考答案:
A
广义表的深度定义为广义表中括弧的重数,是广义表的一种量度。
本题中d处的括弧深度最大,为4。
第16题:
一棵含28个结点的:
二叉树的高度至少为(16) 。
A.3
B.4
C.5
D.6
参考答案:
C
第17题:
已知二叉树的中序序列为DBEACPC,先序序列为ABDECPC,则后序序列为(17) 。
A.DEBACFC
B.DEFCBCA
C.DEBCFCA
D.DEBCFCA
参考答案:
D
二叉树的先序序列为ABDECPG,所以根结点为A,于是根据中序序列为DDEAGPC可知,A前面的DBE元素是左于树的,右面的FC是右子树上的,于是可以得到左右子树的中序序列和先序序列。
按照此方法进行下去,最终得到树的结构。
对树进行后序遍历可得DEBGPCA。
第18题:
从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为(18) 。
A.O
(1)
B.O(n)
C.O(log2n)
D.O(n2)
参考答案:
在某关键字互不相同的二叉排序树中,命题:
最小元必无左孩子,最大元必无右孩子。
是(19) 。
最小元和最大元一定是(20) 。
第19题:
A.不正确
B.正确
C.命题错误
D.无法确定
参考答案:
B
第20题:
A.不是叶子节点
B.叶子节点
C.无法确定
D.以上都错
参考答案:
C
在关键宇互不相同的二叉排序树中,若最小元有左孩子。
则左孩子小于1该结点,与它是最小元矛盾。
同理可知,最大元必无右孩子。
最大元和最小元不一定是叶子结点,最小元可以有右结点,最大元可以有左孩子。
第21题:
由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为(21) 。
A.24
B.48
C.72
D.53
参考答案:
D
构造哈夫曼树后可得5,6,8的编码长度为2,2和3的编码长度为3,所以带权路径长度为(5+6+8)×2+(2+3)×3=53。
第22题:
无向图中一个顶点的度是指图中(22) 。
A.通过该顶点的简单路径数
B.与该顶点相邻接的顶点数
C.通过该顶点的回路数
D.与该顶点连通的顶点数
参考答案:
B
无向图中一个顶点的度是指与该顶点相连的边的数目,也就是与该顶点相邻接的顶点数。
第23题:
A.bacedf
B.bacdfe
C.bacefd
D.bacefd
参考答案:
C
广度优先遍历可以定义为:
首先访问出发点v,接着依次访问v的所有邻接点w1,w2,…,wt,然后再依次访问与w1,w2,…,wt邻接的所有未曾访问过的顶点。
依此类推,直至图中所有和源点v有路径相通的顶点都已访问到为止。
此时从v开始的搜索过程结束。
第24题:
当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为(24) 参数,以节省参数值的传输时间和存储参数的空间。
A.整形
B.引用型
C.指针型
D.常值引用型
参考答案:
B
把对象说明为引用型参数时,参数值的传输时间和存储参数的空间都比较小。
第25题:
向一个长度为N的顺序表中插入—个新元素的平均时间复杂度为(25) 。
A.O(N)
B.O
(1)
C.O(logN)
D.O(N2)
参考答案:
A
向一个长度为N的顺序表中插入一个新元素的平均比较次数为N/2,所以平均时间复杂度为O(N)。
第26题:
下面的排序方法中,平均时间性能为O(nlogn)且空间性能最好的是(26) 。
A.基数排序
B.堆排序
C.归并排序
D.快速排序
参考答案:
B
快速排序、堆排序、归并排序的平均时间性能均为O(nlogn),但是堆排序的空间性能最好。
第27题:
已知一组关键字为{18,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。
对这些子序列进行一趟两两归并的结果是(27) 。
A.{18,36,48,72,23,40,79,82,16,35}
B.{18,36,48,72,16,23,40,79,82,35}
C.{18,36,48,72,16,23,35,40,79,82}
D.{16,23,18,35,36,40,48,72,79,82}
参考答案:
A
一趟两两归并是每两组进行一次归并排序,第一组为{18,48,36,72},排序后得到{18,36,48,72};第二组为{79,82,23,40}排序后得到{23,40,79,82}:
第三组不变。
所以最终结果为{18,36,48,72,23,40,79,82,16,35}。
第28题:
设顺序存储的线性表共有287个元素,按分块查找的要求等分成7块。
若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为(28) 。
A.41
B.25
C.45
D.62
参考答案:
B
287个元素,按分块查找的要求等分成7块,则每块有41个元素。
于是查找概率相等的情况下,查找确定块需要4次比较,块中进行顺序查找需要21次比较,所以查找成功时的平均查找长度为25。
第29题:
在一个单链表中,q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行(29) 。
A.s→link=p→link;p→link=s;
B.p→link=s;s→link=q;
C.p→link=s→link;s→link=p;
D.q→link=s;s→link=p;
参考答案:
D
q结点是p结点的前驱结点,若在q与p之间插入结点s,只需先将q的指针指向s,然后再将s指向p即可。
第30题:
一个栈的人栈序列为a,b,c,则出栈序列不可能的是(30) 。
A.c,b,a
B.b,a,c
C.c,a,b
D.a,c,b
参考答案:
C
a,b,c顺序入栈,然后按照先进后出出栈,使得到序列c,b,a。
a,b先入栈,然后b,a出栈,最后c入栈再出栈便得到序列b,a,c。
a入栈即出栈,接着b和c入栈,然后按照c,b出栈使得到序列a,c,b。
第31题:
栈的数组表示中,top为栈顶指针,栈空的条件是(31) 。
A.top=0
B.top=maxSize
C.top=maxSize
D.top=-1
参考答案:
A
栈的数组表示中,栈顶指针指向数组的第一个元素时,表示栈为空。
第32题:
栈和队列的共同特点是(32) 。
A.都是先进后出
B.都是先进先出
C.只允许在端点处插入和删除
D.没有共同点
参考答案:
C
栈的特点是先进后出,队列的特点是先进先出,但它们都只可以在端点处插入和删除,不允许在中间插入和删除。
第33题:
当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为(33) 。
A.n-2
B.n-1
C.n
D.n+1
参考答案:
B
需要保留一个元素为空来标志队头。
第34题:
当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行(34) 语句修改top指针。
A.top++;
B.top--;
C.top=0;
D.top=0;
参考答案:
B
top==n表示栈空,于是堆栈的元素从高位向低位存储,因此入栈时,需要向下移动指针,即top--。
二维数组F的行下标为2至6,列下标为1至8,F的每个数据元素均占4个字节。
在按列存贮的情况下,已知数据元素F[3,2]的第一个字节是2054,则F[3,4]和F[4,3]的第一个字节的地址分别为(35) 和(36) ,而数组的第一个数据元素的第一个字节和数组最后一个元素的最后一个字节的地址分别为(37) 和(38) 。
对一般的二维数组G而言,当(39) 时,共按行存储的G[I,J]的地址与按列存储的G[J,I]的地址相同。
第35题:
A.2056
B.2094
C.2092
D.2120
参考答案:
B
第36题:
A.2092
B.2088
C.2078
D.2124
参考答案:
C
第37题:
A.2004
B.2044
C.2030
D.1984
参考答案:
C
第38题:
A.2183
B.2189
C.2161
D.2187
参考答案:
B
第39题:
A.C的列数与行数相同
B.G的列的上界与G的行的上界相同
C.G的列的下界与G的行的下界相同
D.G的列的上下界与G的行的上下界相同
参考答案:
D
该数组可看作为5×8的矩阵,已知其元素F[3][2]首地址为2054,则F[3][4]首地址为:
F[3][2]+(4-2*5*4+(3-3)*4=2054+40=2094.F[4][3]首地址:
F[3][2]+(3-2)*5*4+(4-3)*4=2078。
首元素首字节地址F[2][1]=F[3][2]-(2-1)*5*4-(3-2)*4=2030。
量后字节的地址为:
F[6][8]=F[3][2]+6*5*4+3*4*3=1180-1=1179,注意最后一个元素的最后一个字节地址的计算方法。
上面的各次计算可以推导出一个公式:
已知F[a][b]的首地址,每列有n个元素,每个元素占m个字节,则F[x][y]首址为:
F[a][b]+(y-b)*n*m+(x-a)*m。
按行存储的G[I,J]的地址与按列存储的G[J,I]的地址相同时,则G的列的上下界与G的行的上下界相同。
按行G[i][j]=S+(i-r)*Lr+j-1.按列G[j][i]=S+(i-1)/L1+j-r其中,r,1分别为行、列的上后,Lr与L1分别为行长度和列长度,显然,若要二者相等,则有r=1;Lr=L1。
即:
列的上下界与行的上下界相同。
树是由结点构成的,其中根结点数目为(40) 。
二叉树有(41) 个根结点,按一定的转换规则,任一树都可以转换成唯一对应的二叉树。
二叉树的查找有深度优先和广度优先二类,深度优先包括(42) 。
当一棵二叉树的前序序列和中序序列分别是HCZDBPCA和ECBDHFAC时,其后序序列必是(43) ,层次序列为(44) 。
第40题:
A.只有1个
B.1或多于1个
C.0或1个
D.至少2个
参考答案:
A
第41题:
A.只有1个
B.1或多于1个
C.0或1个
D.至少2个
参考答案:
C
第42题:
A.前序遍历后序遍历中序遍历
B.前序遍历后序遍历层次遍历
C.前序遍历中序遍历层次遍历
D.中序遍历后序遍历层次遍历
参考答案:
A
第43题:
A.BDEAGFHC
B.EBDGACFH
C.HCFEDCBA
D.HFGDEABC
参考答案:
B
第44题:
A.BDEACGFH
B.EBDGACFH
C.HCFEDCBA
D.HFCCDEAB
参考答案:
C
树是结点的集合。
树根有且仅有一个。
二叉树可以有零个或一个根结点,根节点为零时,二叉树为空树。
深度优先查找包括前序遍历、后序遍历、中序遍历。
一棵二叉树的前序序列和中序序列分别是HGEDBFCA和EGBDHFAC,前序序列首元素是根元素,于是推断出树根为H,由中序序列可以推断EGBD为左子树,FAC为右子树,按照该法推至子树剩一个节点,可得该二叉树的全部构成。
数值数据在机器中的表示法有原码、反码、补码(又称增码)等方法。
定点数真值。
表示法唯一的表示法是(45) ;在(46) 表示方式中最高位为“0”表示负号而为“1”表示正号;机器码为n位时,采用反码、补码和移码来表示小数点固定在符号位与最高有效位之间的定点数时所可表示的真值X的范围分别为(47) 、(48) 和(49) 。
第45题:
A.反码
B.移码
C.原码
D.补码
参考答案:
D
第46题:
A.反码
B.移码
C.原码
D.补码
参考答案:
B
第47题:
A.-(1-2-(n-1))≤X≤(1-2-(n-1))
B.-(1-2-(n-1))≤X≤1
C.-1≤X≤(1-2-(n-1))
D.-1≤X≤1
参考答案:
第48题:
A.-(1-2-(n-1))≤X≤(1-2-(n-1))
B.-(1-2-(n-1))≤X≤1
C.-1≤X≤(1-2-(n-1))
D.-1≤X≤1
参考答案:
第49题:
A.-(1-2-(n-1))≤X≤(1-2-(n-1))
B.-(1-2-(n-1))≤X≤1
C.-1≤X≤(1-2-(n-1))
D.-1≤X≤1
参考答案:
第50题:
A.B-树
B.最佳查找树
C.穿线树
D.查找树
参考答案:
D
第51题:
A.深度优先
B.中序
C.后序
D.前序
参考答案:
B
第52题:
A.13
B.8
C.21
D.57
参考答案:
A
第53题:
A.8
B.21
C.34
D.66
参考答案:
B
第54题:
A.n2与n4之间
B.n6下
C.n5与n9之间
D.n9下
参考答案:
D
堆是一种特殊的数据结构,选项(55) 是一个最大堆。
堆排序是一种(56) 排序,其时间复杂性为(57) 。
(58) 是不稳定的排序算法。
外排序是指(59) 。
第55题:
A.19,75,34,26,97,56
B.97,75,34,56,19,26
C.97,56,26,19,34,75
D.19,34,26,97,56,75
参考答案:
B
第56题:
A.归并
B.交换
C.选择
D.插入
参考答案:
C
第57题:
A.0(n)
B.0(n2)
C.O(log2n)
D.0(nlogn)
参考答案:
D
第58题:
A.直接插入排序
B.归并排序
C.冒泡排序
D.希尔(shell)排序
参考答案:
D
第59题:
A.用机器指令直接对硬盘中需排序数据排序
B.把需排序数据,用其他大容量机器排序
C.把外存中需排序数据一次性调入内存,排好序后,再输回外存
D.对外存中大于内存允许空间的需排序的数据,通过多次内外存问的交换实现排序。
参考答案:
D
堆是一个完全(除最底层外都是满的)二叉树,并满足如下条件:
1、根结点若有子树,则子树一定也是堆。
2、根结点一定大于(或小于)子结点。
当根结点大于子结点时,称为最大堆,反之称为最小堆。
因为要求堆必须是完全二叉树,所以可以用线性的数据结构,比如数组,来实现堆。
利用数组实现,则对于长为N的堆中的元素从0到N-1排列,有:
i的父结点:
Patent(i)=(i+1)/2-1i的左叶子:
Left(i)=(i+1)*2-1i的右叶子:
Right(i)=(i+1)*2故97,75,34,56,19,26是一个最大堆,而19,34,26,97,56,75是一个虽小堆。
堆排序是一种选择排序法,对大量的记录进行堆排序是非常有效的。
其时间复杂度为O(nlogn),n为待排序记录。
快速排序、堆排序、希尔排序等都是不稳定的排序,而基数排序、归并排序是一种稳定的排序。
外排序是指待排序记录数量很大,以致内存不能容纳所有记录,在排序过程中尚需对外存进行访问的排序过程。
第60题:
A.0.00000001012
B.2010
C.1.2510
D.20.96937510
参考答案:
C
第61题:
A.0.00000001012
B.2010
C.1.2510
D.20.96937510
参考答案:
C
第62题:
A.0.00000001012
B.2010
C.1.2510
D.20.96937510
参考答案:
A
第63题:
A.0.00000001012
B.2010
C.1.2510
D.20.96937510
参考答案:
A
第64题:
A.1010001010000000
B.10010101000000
C.1101010100000000
D.11110001010000
参考答案:
B
第65题:
A.最左边的子结点
B.最右边的子结
C.最邻近的右兄弟
D.最邻近的左兄弟
参考答案:
A
第66题:
A.最左边的兄弟
B.最右边的兄弟
C.最邻近的右兄弟
D.最邻近的左兄弟
参考答案:
C
第67题:
A.查找树
B.满二叉树
C.平衡树但不是满二叉树
D.B+树
参考答案:
C
第68题:
A.查找树
B.满二叉树
C.平衡树但不是满二叉树
D.B+树
参考答案:
A
第69题:
A.查找树
B.满二叉树
C.平衡树但不是满二叉捌
D.B+树
参考答案:
B
任一棵树均可唯一地转换成与它对应的二叉树。
由树转换成的二叉树中,结点N的左子是N在原树里对应结点的最左子结点,而N的右子是原树里对应结点的邻近的右兄弟。
平衡树是它的左子树和右子树也都是平衡二叉树并且左于树秘右子树的深度之差的绝对值不超过1。
二叉查找树是如果根结点的左子树非空,则左子树上所有的结点的值都小于根值;如果根结点的右于树非空,则右子树上所有的结点的值都大于根值;根结点的左子树和右子树也都是二叉查找树。
则图—所示各结点平衡因子都<=1,故为平衡树。
图二中,结点值按字母序比较大小,则显然是二叉查找树。
图三是满二叉树。
二维数组A的行下标范围是1~6,列下标范围是2~8,每个数组元素占八个字节,则该数组的体积为(70) 个字节,若已知x的最后一个元素的起始字节地址为428,则A的首地址(即第一个元素的起始字节地址)为(71) ,记为As。
若按行存储,则A[2,5]的起始地址是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 基础