day23

1:最小代价生成树是唯一的。(B)
A:正确
B:错误
解析:最小生成树的权重唯一但是树不唯一
2:对于一维整形数组 a ,以下描述正确的是(D)
A:int a(10)
B:int n=10,a[n]
C:
int n
scanf(”%d”,&n)
int a[n]
D:
#define size 20
int s[size]
解析:定义数组时[]中为确定值,define定义为常量,可以使用
3:char s1[10], s2[10] = {“books”};则能将字符串 books 存放到数组 s1 的正确语句是(A)
A:strcpy(s1, s2);
B:s1 = {“books”};
C:s1 = s2;
D:strcpy(s2, s1);
解析:将s2数组里面的内容复制到s1中
4:设有n个元素的集合,采用带头结点有序链表来实现,设集合的元素占8个字节,链接指针占2个字节,该集合的存储密度为(C)
A:0.8
B:n/(n+1)
C:0.8n/(n+1)
D:0.8(n+1)/n
解析:存储密度即存储元素的密度即元素所占内存/内存总占用,内存总占用=元素占用+指针占用+头结点,即C
5:KMP算法下,长为n的字符串中匹配长度为m的子串的复杂度为(B)
A:O(N)
B:O(M+N)
C:O(N+LOGM)
D:O(M+LOGN)
解析:简单匹配算法的时间复杂度为O(mn),KMP匹配算法时间复杂度为O(m+n).。KMP算法:根据计算出的next数组,若当前不匹配,直接找到下一个匹配的位置,无需整体遍历一遍,时间复杂度为o(M+N)
6:有字符数组 a[80] 和 b[80],则正确的输出语句是(A)
A:puts(a); puts(b);
B:printf("%s,%s", a[], b[]);
C:putchar(a, b);
D:puts(a, b);
解析:puts()输出一个字符串,遇到’\0’结束,putchar()输出单个字符,B:printf("%s,%s", a, b)则正确
7:把一棵树转换为二叉树后,这棵二叉树的形态是(A)
A:唯一的
B:有多种
C:有多种,根结点没有左孩子
D:有多种,根结点没有右孩子
解析:一棵树转换为二叉树是确定的,因为给出这个树之后树确定,规则一定所以二叉树确定
8:集合中任何两个元素都可以比较大小,但比较不满足传递性,则以下说法正确的有(D)
A:可以通过建立二叉搜索树索引使得在集合中查找元素的时间复杂度降到O(logN)
B:可以进行快排,排序后使用二分查找可以使得在集合中查找元素的时间复杂度降到O(logN)
C:可以通过B树索引使得在集合中查找元素的时间复杂度降到O(logN)
D:可以通过hash索引使得在集合中查找元素的时间复杂度降到O(1)
解析:ABC需要传递性,D中不需要建立索引,需要制作成哈希表 一次比对完成
9:用常规的非递归方法遍历一个平衡二叉树,所需的时间复杂度和空间复杂度是?(A)
A:O(n),O(n)
B:O(n),O(1)
C:O(n
n),O(nn)
D:O(n),O(n
n)
解析:遍历二叉树的算法中的基本操作是访问结点,则不论按哪一种次序进行遍历,对n个结点的二叉树,其时间复杂度均为O(n)。需辅助空间为遍历过程中栈的最大容量,即树的深度,最坏情况下为n,则空间复杂度也为O(n)。
10:下列说法正确的是(A、B、D)
A:二维以上的数组其实是一种特殊的广义表
B:数组一旦建立,结构的元素个数和元素间的物理存储关系就不再变化
C:数组是一种线性结构,因此只能用来存储线性表
D:数组采用顺序存储方式表示

  • 14
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值