@TOC
笔试题 613题
⭐️⑥、笔试题-数据结构篇(23题)
1.局部变量
是保存在栈区
的,方法调用的实参
也是保存在栈区
的?:[判断题]
- A、正确
- B、错误
2.栈
是向低地址
扩展的数据结构,是一块连续的内存的区域
?:[判断题]
- A、正确
- B、错误
3.堆
是向高地址
扩展的数据结构,是不连续的内存区域
吗?:[判断题]
- A、正确
- B、错误
4.栈
是由系统自动分配
,速度较快,不会产生内存碎片
?:[判断题]
- A、正确
- B、错误
5.堆
是由alloc
分配的内存,速度比较慢,而且容易产生内存碎片
,不过用起来最方便?:[判断题]
- A、正确
- B、错误
6.int a;是指一个整型数(An integer)
:[判断题]
- A、正确
- B、错误
7.int *a;是指一个指向整型数的指针(A pointer to an integer)
?:[判断题]
- A、正确
- B、错误
8.int **a;是指一个指向指针的指针
,它指向的指针
是指向一个整型数
?(A pointer to an integer to an integer) ?:[判断题]
- A、正确
- B、错误
9.int a[10],是指一个1有10个整型数的数组?:[判断题]
- A、正确
- B、错误
10.int *a[10],是指一个1有10个指针的数组
,该指针是指向一个整型数的。(An array of 10 pointer to integers)?:[判断题]
- A、正确
- B、错误
11.int (*a)[10];是指一个指向有10个整型数数组的指针 (A pointer to an array of 10 integers)?:[判断题]
- A、正确
- B、错误
12.int (*a) (int) 一个指向函数的指针
,该函数有一个整型参数并返回一个整型数(a point to a function that takes an integer as an argument and returns an integer)?:[判断题]
- A、正确
- B、错误
13.int (*a[10]) (int) 一个有10个指针
的数组
,该指针指向一个函数
,该函数有一个整型参数并返回一个整型数
(An array of ten Pointers to a function that takes an integer argument and returns an integer)?:[判断题]
- A、正确
- B、错误
14.堆
和栈
的区别正确的是?:[单选题]
- A、对于栈来讲,我们需要手工控制,容易产生 memory leak
- B、对于堆来说。释放工作是由编译器自动管理,无需我们手动管理。
- C、在Windows下,栈是向高地址扩展的数据结构,是连续的内存区域,栈顶的地址和栈的醉倒容量是系统预先规定好的。
- D、对于堆来来将,频繁的new/delete势必会造成内存空间的不连续,从而造成大量的碎片。使程序效率降低。
15.下面四种内部排序算法中哪一种在最差情况
时间复杂度最高
?:[单选题]
- A、快速排序
- B、冒泡排序
- C、堆排序
- D、归并排序
16.下面的数据结构中不属于线性结构
的是?:[单选题]
- A、栈
- B、链表
- C、二叉树
- D、线性表
17.在一个二叉树上,第5层
最多可以有多少个节点
?:[单选题]
- A、2
- B、8
- C、16
- [ ] D、32
18.在长度为n的线性表
上进行顺序查找
,在最糟糕
的情况下需要的比较次数
是?:[单选题]
- A、n
- B、2n-1
- C、2n
- [ ] D、n^2
19.已知二叉树``后序
遍历序列是dabec,中序
遍历是debac,它的前序
遍历序列是?:[单选题]
- A、cebda
- B、acbed
- C、decab
- [ ] D、deabc
20.多线程
中栈
与堆
是公有
的还是私有
的:[单选题]
- A、栈公有,堆私有
- B、栈公有,堆公有
- C、栈私有,堆公有
- [ ] D、栈私有,堆私有
21.求以下程序的输出int test(int x, int y){ x = x + y; return x * y;}int main(int argc, const char * argv[]){ @autoreleasepool { int x = 3, y = 10, z = test(x, y); NSLog(@"%d%d", x++, ++z); } return 0;} :[单选题]
- A、331
该题我在终端测试调试发现得到的答案已经为3131 可能会跟编译器的位数有关
- B、330
- C、431
- D、430
22.求以下程序的输出 int func(int x) {int countx = 0;while (x) {countx++; x = x&(x-1);}return countx;}int main(int argc,const char * argv[]){@autoreleasepool {NSLog(@“func %d”,func(19999)); } :[单选题]
- A、1
- B、5
- C、8
- D、9
23.main(){ int a[5] = {1,2,3,4,5}; int prt=(int )(&a+1); printf("%d,%d",(a+1),(prt-1))}的答案是 :[单选题]
- A、5,2
- B、2,5
- C、1,4
- D、4,1