목록💯🌊자료구조&알고리즘/공통 (2)
컴퓨터공학 💻 도서관📚
병합정렬은 데이터를 가장 작은 단위까지 분할한 다음 정렬하면서 다시 병합하는 알고리즘이다. 병합정렬의 시간복잡도는 O(N*logN) 이다. (약 2천만) [병합정렬 예시 1] [병합정렬 예시 2] : 데이터의 총 개수가 홀수인 경우 데이터의 총 개수가 홀수일 경우에는 분할 과정이 남았지만 더 이상 분할할 수 없는 그룹이 존재하게 된다. 이 때는 모든 분할 과정이 끝날 때까지 계속 1개의 원소를 유지합니다. 분할정복 알고리즘 : 하나의 문제를 동일한 유형의 작은 문제들로 분할한 다음에 작은 문제에 대한 결과를 조합해서 큰 문제를 해결하는 방식의 알고리즘분할 정복 알고리즘은 보통 재귀 함수로 구현된다는 특징이 있다.
결론 : 연산이 약 1억 번까지 가능하다 / 시간초과 뜨면 다른 방법을 찾아봐라. (1억 : 10의 8승 / 100,000,000)O(N) 알고리즘 : 크기가 약 1억 6천만인 입력까지를 1초 안에 풀 수 있다.O(N*logN) 알고리즘 : 크기가 약 2천만인 입력까지를 1초 안에 풀 수 있다.O(N^^2) 알고리즘 : 크기가 40960 인 입력까지를 1초 안에 풀 수 있다.O(N^^3) 알고리즘 : 크기가 2560 인 입력까지를 1초 안에 풀 수 있다. 개념) 시간복잡도는 입력의 크기와 문제를 해결하는데 걸리는 시간의 상관관계를 의미한다. 참고)https://lemonlemon.tistory.com/54 Big O notation 과 시간..