#P0326. 【选择题】空间复杂度习题

【选择题】空间复杂度习题

热知识

C++中常见数据类型所占内存大小(64位操作系统):

数据类型 空间大小
char 1B或8b
int 4B或32b
long long 8B或64b
float 4B或32b
double 8B或64b

计算机中常见单位的进制转换(64位操作系统):

1字节 = 8位 --> 1B = 8b (1Byte = 8bit)

1MB = 1024KB

1KB = 1024B

空间复杂度

1.1. 观察下面的代码,请问它的空间复杂度是多少?

int add(int a, int b){
	return a + b;
}

{{ select(1) }}

  • O(1)
  • O(n)
  • O(n^2)
  • O(logn)

2.2. 观察下面的代码,请问它的空间复杂度是多少?

int n;
cin >> n;
int a[n],b[n],c[n];

{{ select(2) }}

  • O(1)
  • O(n)
  • O(n^2)
  • O(logn)

3.3. 观察下面的代码,请问它的空间复杂度是多少?

int n,x,y,z;
cin >> n;
int a[n][n], b[n][n], c[n][n];

{{ select(3) }}

  • O(1)
  • O(n)
  • O(n^2)
  • O(logn)

4.4. 如果一道题目的空间限制为64MB,在不考虑运行程序其他所有内存开销的情况下,以下哪些数组大小是符合要求的?

{{ multiselect(4) }}

  • int a[114514]
  • char a[67108864]
  • long long a[8388609]
  • float a[16777217]