시간복잡도 질문!
안녕하세용
이 문제를 보고 시간복잡도를 처음 생각했을 때 1만 x 1만이라고 생각했는데 문제에서 인접한 간선(단방향)의 수를 1만이라고 제한을 뒀고 그래서 시간복잡도가 달라질 것이라고 잠깐 생각했지만 아래와 같은 case가 있는 경우 n^2과 같이 될 수 있어서 결국은 큰돌님이 말한 시간복잡도와 같게 되는 군요!! 맞나요??
'1번 컴퓨터는 2번컴퓨터를 신뢰, 2번 컴퓨터는 3번 컴퓨터를 신뢰, ...., n-1번 컴퓨터는 n번 컴퓨터를 신뢰, n번 컴퓨터는 1번 컴퓨터를 신뢰'
답변 2
0
안녕하세요 용근님 ㅎㅎ
문제 최대 복잡도는 1만 * 1만이 맞습니다. N은 최대 1만이며 최대조합의 수는 n x n - 1 / 2 가 되기 때문에 그렇습니다.
문제 지문::
N은 10,000보다 작거나 같은 자연수, M은 100,000보다 작거나 같은 자연수
1번 컴퓨터는 2번컴퓨터를 신뢰, 2번 컴퓨터는 3번 컴퓨터를 신뢰, ...., n-1번 컴퓨터는 n번 컴퓨터를 신뢰, n번 컴퓨터는 1번 컴퓨터를 신뢰
-> 그런 경우도 어차피 1번부터 전체 탐색, 2번부터 전체탐색 이케 가기 때문에 똑같이 n * n 이 되게 됩니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 조용근님.
질문 주신 내용은 그래프의 시간복잡도 계산에 관한 내용입니다. 말씀하신 경우는 명확하게 인접한 간선의 수가 주어졌지만, 특정한 경우에 따라 그래프가 전부 연결되어 있는 것처럼 보일 수 있는 경우입니다.
언급하신 예시에서는 각 노드가 단방향으로 다음 노드만 신뢰하는 형태로, 사실상 하나의 사이클을 형성하는 구조입니다. 따라서 일반적인 인접 행렬을 사용한 방식에서 시간복잡도는 O(n^2)로 보일 수 있습니다. 그러나, 실제 문제에서 인접한 간선의 수가 제한된다면 효율적으로 탐색이 가능할 것입니다. 이 경우 일반적으로 인접 리스트를 사용하여 O(n + m) 의 시간복잡도로 해결할 수 있으며, m은 간선의 수를 의미합니다.
더 깊이 있는 이해를 위해 관련 자료와 답변을 확인해보시기를 권장드립니다:
- “시간복잡도와 시간제한 질문입니다.”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
코딩살구클럽 가입부탁드립니다
0
27
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
30
2
5-S 테스트 케이스 질문
0
35
2
코살 문제풀이 환경
0
48
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
43
1
추천 추가문제들
0
43
2
프로그래머스 코테 환경 관련해서 질문드립니다.
0
47
2
해당 문제에 대한 채점이 코딩살구클럽에서 올바르게 처리되지 않습니다.
0
41
2
균형 이진 트리 설명 시 높이 숫자
0
31
2
4-H 질문드립니다.
0
35
2
1-K 질문드립니다.
0
41
2
대기업 인적성 시험 질문
0
41
2
4-C 질문드립니다
0
41
2
[수학숙제 / BOJ 2870] 채점 서버 오작동
0
37
1
코테 준비 질문
0
50
1
살구클럽가입 요청드려요
0
39
2
1-I 문제 질문
0
40
2
코딩살구클럽 가입
0
57
2
AI 코딩 도구 사용 시 학습 방법 조언
0
52
2
코딩살구클럽 오류
0
61
2
코살클 [3-F 괄호 추가하기] 프라이빗 9번 제보
0
46
1
코딩살구클럽 테스트 케이스 오류 제보
0
52
2
삼성 코딩테스트
0
65
2
틀린 이유를 못찾겠습니다
0
48
2





