有赞2019校招前端笔试(第一批)
时长:120分钟 总分:100分
218浏览 1人已完成答题
题型介绍
题型 | 单选题 | 多选题 | 简答题 |
---|---|---|---|
数量 | 1 | 9 | 2 |
给定个不同的整数以及一棵结构已经确定的有个 节点的二叉树,现在需要将这些整...
给定个不同的整数以及一棵结构已经确定的有个 节点的二叉树,现在需要将这些整数填充到这个二叉树的节点上,请问有多少种填充方式使得填充后的二叉树是一棵二叉查找树?
下面这段 C 代码的输出是什么? int f(int n) { &...
int f(int n) { if(n <= 1) return 1 if(n%2 == 0) return f(n/2) return f(n/2) + f(n/2+1) } int main() { printf("%d", f(11)) return 0 }
假设已经实现了一个时间复杂度为  的数组中位数查找算法...
假设已经实现了一个时间复杂度为 的数组中位数查找算法 ,如果在快速排序算法中使用算法 返回的中位数作为重排的 ,请问这个快速排序算法的最坏时间复杂度是多少?
请设计一个数据结构来实现下面这些方法,所有方法都使用同一个数据结构实现,这...
,并给出每个方法的时间复杂度。
1. findMin() : 返回最小的元素 使用频率:非常高 2. findMax() : 返回最大的元素 使用频率:非常高 3. deleteMin() : 删除最小的元素 使用频率:较高 4. deleteMax() : 删除最大的元素 使用频率:较高 5. insert() : 插入一个元素 使用频率:低 6. delete() : 删除一个元素 使用频率:低
下面两段代码的输出结果分别可能是什么?请简述原因。 int a =...
int a = 0 void func(int* i) { for (int i = 0 i < 1000000 i++) a = *i free(i) } int main() { pthread_t t[3] for (int i = 0 i < 3 i++) { int* b = (int*)malloc(sizeof(int)) *b = i pthread_create(&t[i], NULL, (void*)&func, (void*)b) } for (int i = 0 i < 3 i++) { pthread_join(t[i], NULL) } printf("%d\n", a) return 0 }
int a = 0 void func(int* i) { for (int i = 0 i < 1000000 i++) a = *i free(i) } int main() { for (int i = 0 i < 3 i++) { int* b = (int*)malloc(sizeof(int)) *b = i fork() func(b) } printf("%d\n", a) return 0 }