We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
알고리즘 선택의 기준이 되는 시간 복잡도
코딩 테스트의 핵심 중 하나는 문제마다 주어진 시간 복잡도를 고려해 적절한 알고리즘을 선택하는 것이다.
알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 C++에서는 1억 번의 연산을 1초의 수행 시간으로 예측할 수 있다.
코딩테스트에서는 빅-오(Big-O) 표기법을 사용한다.
버블정렬, 병합정렬의 시간 복잡도를 각각 O(N^2), O(NlogN)이라고 표현할 때 다음과 같은 문제가 있다.
앞서 말한 것처럼 1억 번의 연산을 1초의 수행 시간으로 예측할 수 있기에 이를 바탕으로 적합성을 평가할 수 있다.
상수는 무시하면 된다. 예를 들어 1000N은 N으로 표현할 수 있다.
The text was updated successfully, but these errors were encountered:
fkdl0048
No branches or pull requests
어떤 알고리즘으로 풀어야 할까?
코딩 테스트의 핵심 중 하나는 문제마다 주어진 시간 복잡도를 고려해 적절한 알고리즘을 선택하는 것이다.
시간 복잡도 표기법 알아보기
알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 C++에서는 1억 번의 연산을 1초의 수행 시간으로 예측할 수 있다.
코딩테스트에서는 빅-오(Big-O) 표기법을 사용한다.
시간 복잡도 활용하기
버블정렬, 병합정렬의 시간 복잡도를 각각 O(N^2), O(NlogN)이라고 표현할 때 다음과 같은 문제가 있다.
앞서 말한 것처럼 1억 번의 연산을 1초의 수행 시간으로 예측할 수 있기에 이를 바탕으로 적합성을 평가할 수 있다.
상수는 무시하면 된다. 예를 들어 1000N은 N으로 표현할 수 있다.
The text was updated successfully, but these errors were encountered: