inflearn logo
강의

Course

Instructor

10-Week Completion C++ Coding Test | Algorithm Coding Test

함수별 시간복잡도

Resolved

73

rbqls3914

8 asked

0

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

 

안녕하십니까.

C++ 교안에 'sort()의 시간 복잡도는 O(nlogn) 이다.' 이런식으로 각 함수별 시간복잡도가 기재되어있던데, 코테에서 사용하는 함수가 상당히 많은데, 각 함수마다 시간복잡도 얼마인지 전부 외워야 하는건가요??



c++ 코딩-테스트

Answer 2

0

kundol

안녕하세요 재윤님 ㅎㅎ

C++ 교안에 'sort()의 시간 복잡도는 O(nlogn) 이다.' 이런식으로 각 함수별 시간복잡도가 기재되어있던데, 코테에서 사용하는 함수가 상당히 많은데, 각 함수마다 시간복잡도 얼마인지 전부 외워야
-> 네 그렇긴한데요. 교안 1회독 이후에 개념 + 문제풀이 하시다보면 자연스레 외워질거에요.

 

감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 재윤님.

코딩 테스트에서는 여러 가지 표준 라이브러리 함수의 시간 복잡도를 알고 있는 것이 매우 유용합니다. 특히 자주 사용되는 함수들에 대해서는 기본적으로 알고 계시는 것이 문제 해결에 큰 도움이 됩니다. 그러나 모든 함수의 시간 복잡도를 외우는 것보다는 핵심적인 몇 가지를 이해하고 있는 것이 더 중요합니다.

주요 함수와 시간복잡도

몇 가지 자주 사용되는 함수와 그 시간 복잡도를 말씀드리겠습니다:

  1. sort(): 일반적인 C++ std::sort()의 시간 복잡도는 평균적으로 O(n log n)입니다. 이는 빠른 정렬 알고리즘인 퀵소트 기반으로 구현되어 있기 때문입니다.

  2. binary_search(): 이진 탐색의 시간 복잡도는 O(log n)입니다. 정렬된 배열에서 특정 요소를 찾는 데 유용합니다.

  3. unordered_map: 대부분의 연산에 대해 평균 O(1)의 시간 복잡도를 가지며, 이는 결합, 탐색, 삽입 작업에 매우 효율적입니다.

  4. vector:

    • 요소 추가 및 제거: 끝에 원소를 추가 또는 제거하는 push_back()pop_back()은 평균 O(1)입니다.
    • 특정 위치에 원소를 삽입 또는 제거하는 작업은 O(n)입니다.

전체 암기는 비효율적

모든 함수를 외우는 것은 비효율적일 수 있습니다. 대신:

  • 기본 함수: 자주 사용하는 함수와 알고리즘의 시간 복잡도는 기억합니다.
  • 문서 활용: 문제가 생기면 공식 문서나 참고 문헌을 빠르게 체크할 수 있게 준비합니다.
  • 연습 문제: 실제로 문제를 푸는 과정을 통해 자연스럽게 학습합니다.

관련 참고 자료:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

진행 방법 질문드립니다!

0

26

2

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

54

2

2주차 개념#12 트리 순회

0

25

2

백준사이트가 종료된다고 합니다.

0

284

2

백준 서비스 종료

9

881

1

sk 하이닉스 코테 대비

0

367

2

3-G 최댓값 질문

0

50

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

83

2

3-I 코드 질문드립니다.

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

102

2

4-H 질문 있습니다 (코드 리뷰)

0

66

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

169

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

69

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

64

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

51

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

68

2

3-h 질문입니다.

0

49

1

안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.

0

53

2

1-I 문제 질문 드립니다.

0

76

2

2-P 질문입니다.

0

56

1

mac에서 시작하기 관련

0

91

2

5-Q 질문

0

64

2

풀이 코드 질문

0

64

2