인프런 커뮤니티 질문&답변

support님의 프로필 이미지
support

작성한 질문수

코딩테스트 [ ALL IN ONE ]

[기본] 시간복잡도 Time Complexity

시간복잡도 Big-O 표기법에 대해서

해결된 질문

작성

·

327

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요!

질문이 2가지 있습니다.

[기본]시간복잡도 Time Complexity 강의 @4:20부분에서

 

1/ "이처럼 입력값 n에 대한 실행시간 함수가 있다면, 최고차항의 계수만을 표기하여 Big-O(n)을 표기할 수 있다."

이렇게 설명을 하셨는데, 제가 이해하기로는 계수는 숫자와 문자의 곱에서 '숫자'를 의미하는걸로 알고 있어서요!

예를 들면, 3n이라고 한다면 숫자인 3이 계수라고 알고있습니다.

그러면 Big-O표기법은 '최고차항의 계수만을 표기'하는게 아니라 '최고차항'을 표기하는걸까요?

 

2/ @4:27부분에

O(n!) > O(2^n) > O(n^2)..

이렇게 시간복잡도가 높은것부터 그래프로 보여주실때 '차수가 높은 순서는 다음과 같다'라고 말씀하셨는데

제가 이해하기로는 '차수'는 문자가 곱해진 횟수, 즉 n^2면 2차, n^3이면 3차. 이런게 차수인걸로 알고있습니다.

그렇다면 n!이 2^n보다 차수가 더 높고, 2^n이 n^2보다 차수가 더 높은걸로 이해하면 될까요?

 

감사합니다!

 

답변 1

1

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요 support님.

  1. 제가 용어에 대해서 잘못 말했네요.. 정정하겠습니다! (계수x => 차수)

  2. 차수가 가장 높은 항을 선택해야하는게 맞지만, 밑의 크기도 중요합니다. 여기서는 n!이 2^n보다 차수가 높고, 2^n이 n^2보다 차수가 높다고 알고 계시면 됩니다 ~!

 

좋은 질문 감사드립니다. :)

support님의 프로필 이미지
support

작성한 질문수

질문하기