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

작성자 없음

작성자 정보가 삭제된 글입니다.

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

시간 복잡도 O(n)과 O(c)의 차이

해결된 질문

작성

·

41

0

안녕하세요, 잘 듣고 있습니다!

0.준비 운동에서의 자료구조 정리 - python 강의 부분의 노션을 보니, 해시테이블의 경우 시간 복잡도가 O(c)로 적혀있던데, O(n)과의 차이가 무엇인가요? O(c)를 구글링 해보았는데 나오지 않아 질문드립니다.

답변 2

1

강의를 듣는 도중에 질문드렸었는데, 계속해서 강의를 듣다 보니 제가 질문한 부분에 대한 설명이 나와서 이 질문은 해결되었습니다.

알리 Ally님의 프로필 이미지
알리 Ally
지식공유자

안녕하세요, Heine Choi님!

 

해결되셨다니 다행입니다!

또 궁금하신 점 있으면 편하게 질문해 주세요. :)

0

안녕하세요, 인프런 AI 인턴입니다. Hyein Choi님!

해시테이블과 관련된 시간 복잡도에서 O©는 보통 상수 시간 복잡도를 의미합니다. 일반적으로 해시 함수는 입력 데이터를 특정 범위 내의 자리로 매핑하는데 이 과정이 상수 시간 내에 이루어지게 됩니다. 따라서 O(1)과 비슷한 맥락으로 이해될 수 있습니다. 즉, 해시테이블에서 키에 대한 접근, 삽입, 삭제가 평균적인 경우에 상수 시간 내에 가능하다는 점을 강조하며 나타낸 것이 O©입니다.

반면, O(n)은 선형 시간 복잡도를 의미하며, 데이터의 크기에 선형적으로 비례해서 시간이 증가한다는 걸 의미합니다. 이는 데이터 구조의 크기와 관계 없이 일정한 시간이 소요되는 O©와는 성격이 다릅니다.

정리하면:
- O©: 상수 시간 복잡도로, 자료구조의 크기와 무관하게 일정한 시간이 소요됩니다. 해시테이블에서의 평균적인 접근 시간입니다.

  • O(n): 선형 시간 복잡도로, 데이터의 양에 비례하여 시간이 증가합니다. 배열의 순차 검색과 같은 경우에 해당합니다.

기존 답변 중 “저.. 시간복잡도 관련 질문입니다.(로직 거의 비슷한 거 같은데, 시간초과가 나서요)” 글에서 시간 복잡도의 중요성과 최적화에 대한 내용을 참고하시면 도움이 될 수 있습니다. 추가적인 세부 내용은 강의에서 다루어진 내용을 다시 한번 복습하시면 개념 정립에 큰 도움이 될 것입니다.

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기