数据结构笔试题记录

数据结构

数组

对数组的正确引用:
int a[10],*p=a;
*(p+2)
C语言中字符串默认’\0’占用一个字节,char,short,int分别占1,2,3字节
Java的char是unicode编码,可以放汉字,一些特殊汉字除外。因此char两字节

1.初始化正确的
A.int a[10]=(0,0,0,0)
B.int a[10]={}
C.int a[]={}
D.int a[10]={10*a}

a:小括号改大括号
b:可,每个元素为0
c:数组长为1,元素为0
d:数组定义不能递归

2.便于插入和删除的容器是
A.list
B.vector
C.map
D.set

a:list底层是双向链表
b:vector底层结构为数组,支持快速访问
c:map底层数据结构为红黑树,除了hashmap无序,其他实现结构有序,不重复
d:set底层结构为红黑树,除了hashset,其他结构实现有序,不重复

3.以下代码那个可以输出good

	char a[]="ggood";
	char b[]="goodd";
	char *c;

A.c=a+1;
B.c=b;c[5]=‘/0’;
C.*c=“good”;
D.编译出错

A ,若B为c[4]也可

4.若数组S[1…n]作为两个栈S1和S2的存储空间,对任何一个栈,只有当[1…n]全满时才不能进行入栈操作,则这两个栈的最佳分配方案为
A.S1的栈底位置为0,S2的占地位置为n+1
B.S1的栈底位置为0,S2的栈底位置为n/2
C.S1的栈底位置为1,S2的栈底位置为n
D.S1的栈底位置为1,S2的栈底位置为1

两个试管相扣C

5.声明一个指向含有10个元素的数组指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int,正确的是*
A.(int *p[10])(int*)
B.int [10]*p(int*)
C.int(*(*p)[10])(int*)
D.int((int*)[10])*p

随便一个数组指针,`int(*p)[10]`,然后每个元素是一个函数指针, 函数指针`int(*pf)(int*)`,然后把`(*p)[10]`作为一个整体代替pf 可以得到`int(*(*p)[10])(int*)`

6.在一个有8个int数据的数组中,随机给出数组的数据找出最大的和第二大元素一定要进行几次比较
对于选择问题,找最大问题的下界是n-1
找第二大问题的下界是 n+logn-2

7.正确的是
A.顺序存储结构的存储一定是连续的,链式存储的存储结构不一定是连续的。
B.顺序存储只针对线性结构,链式存储只针对非线性结构。
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表。
D.链式存储结构比顺序存储结构节省存储空间。

链式存储结构既可以针对线性结构也可以针对非线性结构,所以BC错误。链式存储结构中每个节点都由数据域与指针域两个部分组成,增加了存储空间,所以D错误。

8.数组定义int a[4][5],引用*(a+1)+2表示
A.a[1][0] +2
B.a数组第一行第二列元素的地址
C.a[0][1] +2
D.a数组第一行第二列元素的值

a是个行指针,a+1后指向下一行,`*(a+1)`后变成一个列指针,再+2仍为列指针,指向第一行第二列的元素,选B

9.设数组A[i,j],数组的每个元素长度为3字节,i从1到8,j从1到10,数组从内存首地址BA开始存放,当用列为主存放时,元素A[5][8]的存储首地址为
A.BA+180
B.BA+225
C.BA+222
D.BA+141

A
10.设数组A=array[1…100,1…100]以行为主序存储,每个元素占2个存储单元,基地址为10,LOC[5][5]应为
A.1020
B.1010
C.818
D.808

C

1.关于栈的说法错误的是
A.在栈空的情况下,一定不能出栈,否则会溢出
B.栈一定是顺序存储的线性结构
C.空栈是所有元素都为0的栈
D.一个栈输入为ABCD,可以得到输出:CABD

逻辑结构:线性(串、链式存储栈、顺序存储栈)、树形、图形 存储结构:顺序存储(数组--随机存取)、链式存储(链表--顺序存取)、索引存储(线索树)、散列存储(栈) `` ~~BCD~~ ``

2.关于栈和堆,错误的是
A.申请方式不同,堆是系统自动分配,栈是自己申请
B.栈的大小是固定的,堆的大小受限于系统有效的虚拟内存
C.栈的空间由系统决定何时释放,堆需要自己决定何时释放
D.堆的使用容易产生碎片,但是用起来最方便

堆:自己做饭自己吃,什么时候收盘子自己知道,但可能产生浪费(碎片) 栈:食堂,吃饭由工作人员打饭和分配位置,吃完了工作人员帮收盘子,没有浪费,碎片拿去喂猪 `` ~~A~~ ``

##机器学习
1.线性回归正确的是
A.基本假设包括随机干扰项为0,方差为1的标准正态分布
B.基本假设包括随机干扰项为0,同方差的正态分布
C.在违背基本假设时,普通最小二乘法估计量不再是最佳线性无偏估计量
D.在违背基本假设时,模型不再可以被估计
E.可以使用DW检验残差是否存在序列相关性
F.多重共线性会是的参数估计值方差减少

随机误差项是一个期望为0的随机变量 对解释变量的所有观测值,随机误差项由相同的方差 随机误差项彼此不相关 随机误差项服从正态分布 栈:食堂,吃饭由工作人员打饭和分配位置,吃完了工作人员帮收盘子,没有浪费,碎片拿去喂猪 `` ~~BCE~~ ``

猜你喜欢

转载自blog.csdn.net/cbx0916/article/details/130516002