불변식 찾기
각 반복이 끝난 뒤 어느 구간이 정렬되거나 위치가 확정되는지 적는다.
불변식이 loop 범위를 결정한다버블, 선택, 삽입 정렬은 느린 정렬로 묶이지만 틀리는 지점은 서로 다르다. 어느 구간이 이미 정렬되었는지, 중복 원소의 순서가 유지되는지, 역순과 이미 정렬된 입력에서 비교와 교환이 어떻게 변하는지 봐야 한다.
각 반복이 끝난 뒤 어느 구간이 정렬되거나 위치가 확정되는지 적는다.
불변식이 loop 범위를 결정한다이미 확정된 구간을 다시 비교하지 않도록 inner loop 끝을 줄인다.
off-by-one은 마지막 두 원소에서 드러난다같은 값일 때 교환하는지 여부가 stable 성질을 바꾼다.
<와 <= 차이를 실제 중복 입력으로 본다이미 정렬, 역순, 중복 많음, 원소 0/1개 입력에서 비교 횟수와 결과를 본다.
최선/최악 시간은 입력 모양에 달려 있다정렬 여부뿐 아니라 원소 개수 보존과 중복 순서 보존이 필요한지 확인한다.
값만 맞아도 안정성이 깨질 수 있다