시간복잡도 질문!
안녕하세용
이 문제를 보고 시간복잡도를 처음 생각했을 때 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
25
2
3-D 관련 질문
0
31
2
코살구 회원가입 문의
0
37
2
코살구 로그인 문제
0
55
2
3-A 문제 풀이 관련 질문
0
49
3
2-O 질문 있습니다
0
36
2
2-T 문제에 관한 질문
0
37
2
코딩 살구 클럽 접속 및 사용방법 문의
0
54
2
안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~
0
64
2
코딩살구클럽 로그인문제
0
72
3
코딩 살구 클럽 로그인 문제
0
76
2
2-J 채점관련 질문
0
65
3
코딩 살구 클럽 Python 지원 가능 여부
0
76
1
살구클럽 아이디 없음 문제
0
75
1
1-O 코딩살구클럽 채점관련 질문
0
59
2
히든 테스트 케이스가 사라졌습니다
0
55
1
채점서버 혹시 다른 언어 지원도 가능하게 해주실 수 있나요
1
74
2
살구 클럽 채점 관련 문의(테스트 케이스)
0
66
2
1-H 문제 채점하기 오류
0
58
3
코딩살구클럽 2주차 2-L 문제 채점하기 오류
0
52
2
살구 클럽 채점 관련 문의
0
63
2
코딩 살구 클럽 실전 세션
0
60
2
코딩살구클럽 채점 관련 질문
0
50
2
코딩살구클럽 컴파일에러
0
81
2





