시간 복잡도 O(n)과 O(c)의 차이
160
작성자 없음
작성한 질문수 0
안녕하세요, 잘 듣고 있습니다!
0.준비 운동에서의 자료구조 정리 - python 강의 부분의 노션을 보니, 해시테이블의 경우 시간 복잡도가 O(c)로 적혀있던데, O(n)과의 차이가 무엇인가요? O(c)를 구글링 해보았는데 나오지 않아 질문드립니다.
답변 2
1
강의를 듣는 도중에 질문드렸었는데, 계속해서 강의를 듣다 보니 제가 질문한 부분에 대한 설명이 나와서 이 질문은 해결되었습니다.
0
안녕하세요, 인프런 AI 인턴입니다. Hyein Choi님!
해시테이블과 관련된 시간 복잡도에서 O©는 보통 상수 시간 복잡도를 의미합니다. 일반적으로 해시 함수는 입력 데이터를 특정 범위 내의 자리로 매핑하는데 이 과정이 상수 시간 내에 이루어지게 됩니다. 따라서 O(1)과 비슷한 맥락으로 이해될 수 있습니다. 즉, 해시테이블에서 키에 대한 접근, 삽입, 삭제가 평균적인 경우에 상수 시간 내에 가능하다는 점을 강조하며 나타낸 것이 O©입니다.
반면, O(n)은 선형 시간 복잡도를 의미하며, 데이터의 크기에 선형적으로 비례해서 시간이 증가한다는 걸 의미합니다. 이는 데이터 구조의 크기와 관계 없이 일정한 시간이 소요되는 O©와는 성격이 다릅니다.
정리하면:
- O©: 상수 시간 복잡도로, 자료구조의 크기와 무관하게 일정한 시간이 소요됩니다. 해시테이블에서의 평균적인 접근 시간입니다.
- O(n): 선형 시간 복잡도로, 데이터의 양에 비례하여 시간이 증가합니다. 배열의 순차 검색과 같은 경우에 해당합니다.
기존 답변 중 “저.. 시간복잡도 관련 질문입니다.(로직 거의 비슷한 거 같은데, 시간초과가 나서요)” 글에서 시간 복잡도의 중요성과 최적화에 대한 내용을 참고하시면 도움이 될 수 있습니다. 추가적인 세부 내용은 강의에서 다루어진 내용을 다시 한번 복습하시면 개념 정립에 큰 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
Iterable 관련 설명 중 의문점
1
75
1
DP 알고리즘 index 0 이유?
0
82
2
백준에서 queue.PriorityQueue() 사용 시 런타임에러가 납니다.
0
78
2
(시간 초과) BOJ 1342 관련하여 질문이 있습니다
1
82
2
BFS, DFS
0
107
2
이중연결리스트에 관한 수업 내용도 있을까요?
0
98
1
영상에서 설명이 잘못됐고 자막이 맞는 내용이라고 자막에 표기
0
113
2
최대값 int(1e6, 1e7, 1e8) 기준
0
276
2
섹션 3 BOJ 1342 //= 연산자 관련
0
88
3
라이브러리 사용
0
118
2
2번 구현 방법 질문 있습니다.
0
170
1
브루트 포스 풀이
0
146
2
다익스트라 음수 간선
0
165
1
종료 조건
0
118
2
BOJ 1342 메모리초과 관련
0
124
2
진짜 엄청나네요. 이 가격에 새로운 컨텐츠 추가라니
0
216
1
섹션3 브루트포스 알고리즘 1342 풀이1 질문
0
153
2
boj 3020
0
129
1
강의 내용 중 백트래킹 존재 여부
0
157
1
제가 공부하는 방법이 괜찮은지 궁금합니다
1
264
2
DP 11053관련 질문있습니다.
0
124
1
17609 투포인터 문제를 재귀로 풀 경우가 궁금합니다!
0
143
3
3020번 풀이 코드관련 질문있어요
0
174
2
재귀 관련 문제 관찰할 때 질문
0
201
1





