공간복잡도와 빅오 표기법

조회수 677회

공부를 하던 중, " ~~~ using O(n) storage"라는 표현을 발견했습니다. 저는 이게 빅오에 storage니까 공간복잡도와 관련되지 않았을까?? 생각하게 되었고, 공간 복잡도에 대해 조사를 해봤죠.

https://m.blog.naver.com/demonic3540/221229805234 여기 글에서 공간복잡도에 대해 잘 설명하고 있지만, "공간복잡도가 n+1이다."라고 말하지, "공간복잡도가 O(n)이다."라고 표현하지는 않았더군요.

Q : 과연 이렇게 공간복잡도도 빅오 표기법으로 표현하는 경우가 있을까요??

(물론 이 의문을 처음 떠올리게 한 using O(n) storage는 뭔가 n개 입력에 대해 선형적인 메모리를 사용하게 된다는 말로 이해되기는 합니다.)

1 답변

  • notation(표기법)은 단순히 표기법일 뿐,

    시간/공간 복잡도와 독립적으로 생각한다고 보면...

    시간 복잡도에서는 이중 반복문처럼 최대 n2 걸리는 것을 O(n2) 처럼 표기하듯,

    특정 알고리즘의 성능적인 상한선이란 의미로 본다면 가능할 것 같습니다.

    공간 복잡도에서는

    특정 단위 메모리가 1개만 필요할 수도 있고

    혹은 n + 1 만큼 필요할 수도 있지만

    최대로 n * m개는 넘어가지 않을 것이란 의미로 O(n*m) 처럼 쓸 수 있지 않을까요?

    https://www.quora.com/How-do-we-calculate-space-complexity

    여기 답글들 중에 보시면, 표기법 자체는 증가 양상을 표현하는 방법일 뿐이기 때문에 실제로도 Big O 표기법으로도 표현한다고 합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)