-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
시간 복잡도 관련 질문입니다
21.09.06 16:38 작성 조회수 56
0
안녕하세요.
강의를 수강하던 와중에 궁금한 점이 생겨 질문드립니다.
서버에서 packet 관련 로직을 처리하는데 n^2가 소요된다고 들었던 것 같습니다.
예를 들면 n개의 client에서 각각 1개의 packet을 받을 경우
1.
for(packet in packets){
result = handlePacket(packet)
for (client in clients){
sendPacket(result);
}
}
이런 식으로 n^2이 되는 것 같은데
패킷을 모아서 처리하게 된다면
2.
for(packet in packets){
result = handlePacket(packet)
}
for (client in clients){
sendPacket(result);
}
이런식으로 n+n이 되는거 아닌가요?
또한 2와 같은 방식으로 코드를 짜시지 않은 이유가 궁금합니다.
2와 같은 방식이 불가능한건가요?
답변을 작성해보세요.
0
Rookiss
지식공유자2021.09.06
result = handlePacket(packet)
이 부분이 계속 바뀌기 때문입니다.
물론 좀 기다렸다가 패킷을 모아서 보낸다거나 할 수는 있습니다.
답변 1