문자열을 서버로 보내고 복잡성을 계산하려고합니다.통신 복잡성
각 문자열 s
s
의 모든 안내문을 보내고 있습니다. 따라서 한 문자를 입력 한 다음 두 문자를 입력하고 세 문자를 입력하여 문자를 보내십시오. |s|
자까지 문자를 보내십시오.
여기서 의사 소통의 복잡성은 무엇입니까? 나는 O(|s|²)
를 말했을 것이지만 나는 확실하지 않다.
또 다른 알고리즘에서 나는 s
의 각 문자에 대해 고정 크기의 데이터를 보내고 있습니다 (100 문자로 가정). 그래서 |s| * 100
문자를 보내고 있습니다. 이제 이건 O(|s|)
에 있어야합니까? 그러나 어느 것이 더 나빠요? 분명히 짧은 s
에 대한 첫 번째 알고리즘이 더 낫지 않습니까, 아니면 여기서 완전히 떨어져 있습니까?
예 첫 번째 예입니다. 하지만 내가 궁금해하는 것은, 내가 | 항상 100보다 작고 (선형 시간 복잡도가 100 배),'| s |^2' 복잡성이 더 효율적이지 않습니까? – Blub
"효율적"은 매우 주관적입니다. 두 가지 해결책이 있고 비교하고 싶다면 big-O 복잡도에 따라 어느 것이 더 효율적인지 결정할 수 있습니다. 그러나이 경우에는 두 가지 접근법이 있다는 것을 나는 알 수 없습니다. s가 100보다 작 으면 문제가되지 않습니다 (정렬 알고리즘을 알고 있다면 일부 요소의 크기가 작을 때 삽입형 정렬을 사용하는 것이 더 좋습니다). – user3378649