一些题目~~~
1.什么情况下不会引起创建进程
网页中断一般不会引起创建进程。
进程创建通常由系统初始化(操作系统启动时创建初始进程)、用户请求(用户运行程序或执行命令(如打开浏览器))、系统调用等触发(进程主动调用创建进程的系统接口(如for
int matrix[n][n];
k()),网页中断属于资源占用或网络中断问题(都会在原有进程上进行重启或者重试,不会创建新进程),可能会影响现有进程但不会触发新进程生成。
2.如何计算空间复杂度:
1.常数空间复杂度O(1)
int a = 5;
int b = 10;
int c = a + b;
无论输入数据的规模如何,这段代码只占用了固定的内存空间。因此,空间复杂度是O(1)。
2.线性空间复杂度O(n)
int arr[n];
如果你声明了一个长度为n的数组,那么空间复杂度是O(n),因为数组的大小随n的增加而增加。
3.平方空间复杂度O(n²)
int matrix[n][n];
这里声明了一个n*n的矩阵,因此空间复杂度为O(n²) ,因为存储该矩阵所需的空间随 n 的平方增长。
4.指数空间复杂度O(2ⁿ)
void allSubsets(int arr[], int n) {int subset_count = pow(2, n);for (int i = 0; i < subset_count; i++) {for (int j = 0; j < n; j++) {if (i & (1 << j))printf("%d ", arr[j]);}printf("\n");}
}
生成一个集合的所有子集需要存储 2ⁿ 个子集。每个子集都可能占用额外的存储空间,导致总体空间复杂度为 O(2ⁿ) 。
