BOJ 1517 버블 소트


https://www.acmicpc.net/problem/1517


https://github.com/simjaemun2/BaekJoon/blob/573ed75b9d62e5d0b6131fbb55f5fa6790eff75f/BOJ1517/BOJ1517.cpp


난이도 H


버블 소트를 수행할 때, Swap이 총 몇 번 발생하는지 알아내느 문제


비슷한 문제로 삽입 정렬을 수행할 때 숫자들을 총 몇 번 옮기는지 계산하기



일반적인 버블소트는  O(N^2) 이기 때문에

문제 조건에서의 수행 시간을 만족하지 못함


이 문제를 풀기 위해선 O(N logN) 시간을 만족해야 함


O(N logN) sort + binary search, 팬윅 트리(바이너리 인덱스드 트리) 등을 이용하는 방법이 있지만

병합 정렬을 이용해서 문제 풀이가 가능


자세한 설명은 JM Book 762 페이지를 참고

'컴퓨터공학 > Program Solving' 카테고리의 다른 글

BOJ 2186 문자판  (0) 2017.02.15
BOJ 1080 행렬  (0) 2017.01.30
이분 그래프  (0) 2017.01.16
BOJ 1167 트리의 지름  (0) 2017.01.15
BOJ 1890 점프  (0) 2017.01.04

+ Recent posts