int a[1000] = {false,}의 시간 복잡도는 O(1)인가요 O(N)인가요..??
콤퓨타도 포문 돌려서 초기화 시키나요?
댓글 3
나머지는 0으로 채우니까 당연히 o(n)
익명(106.101)2022-08-29 13:10
답글
감사합니다!
01c3b0(ucuv7b4c0pan)2022-08-29 13:13
이거 전역변수라면 다릅니다. 전역변수는 프로그램이 로드 되기전에 운영체제에 의해서 이미 0로 초기화되어 있는 메모리 영역 (.bss)를 사용하기 때문에 런타임 시간을 전혀 소모하지 않습니다.
정확히는 초기화를 하지 않는 전역변수는 .bss 메모리를 사용하고 초기화한 전역변수는 .data 메모리를 사용하는데 .data라고 하더라도 main에 진입하기 전에 초기화되는 것이므로 런타임 기준을 main함수 시작으로 본다면 이것도 역시 시간을 소모하지 않는다고 볼 수 있습니다.
나머지는 0으로 채우니까 당연히 o(n)
감사합니다!
이거 전역변수라면 다릅니다. 전역변수는 프로그램이 로드 되기전에 운영체제에 의해서 이미 0로 초기화되어 있는 메모리 영역 (.bss)를 사용하기 때문에 런타임 시간을 전혀 소모하지 않습니다. 정확히는 초기화를 하지 않는 전역변수는 .bss 메모리를 사용하고 초기화한 전역변수는 .data 메모리를 사용하는데 .data라고 하더라도 main에 진입하기 전에 초기화되는 것이므로 런타임 기준을 main함수 시작으로 본다면 이것도 역시 시간을 소모하지 않는다고 볼 수 있습니다.