카톡 방에서, Arrays.sort를 호출했을 때, compare 함수에서 키 순서가 바뀌는 거 같다고 누군가 질문을 해 주셨습니다. 이 질문에 대한 답을 상세 분석에서 정리하고자 합니다. 당연하게도, 이 글은 java나 python에서 쓰는 timsort에 대한 내용은 아닙니다. 그런데, 설명을 보다 보면, 팀소트가 상당히 많이 언급됩니다. 즉, 알아두면 좋으니 이해하기 쉽게 되어 있는 이 사이트나, 네이버 d2에 올라온 글을 먼저 읽고 오시는 것을 권해드립니다. 여기에 팀소트 전체를 쓰기에는 넘사급으로 길어지기 때문입니다. java 8u41에서 실행하였습니다. 해당 상황을 재현하기 위해서, 간단하게 MyObj 클래스를 만들어 보았습니다. 여기에는 간단하게 getx하고, toString만 재정의 되어 ..
팀소트 검색 결과
해당 글 2건
java countrunandmakeascending 메소드 : 키가 거꾸로 들어온 듯한 이유
레퍼런스/분석
2021. 2. 4. 03:19
java의 arrays.sort 메서드는 어떤 정렬을 사용할까요?
java의 Array.sort는 어떤 정렬 알고리즘을 쓸까요? primitive type을 정렬하는 경우와, 그렇지 않은 경우에 쓰는 알고리즘이 다릅니다. 어떻게 다른지 간단하게 보도록 하겠습니다. java8 기준으로 작성되었음을 참고하시면 됩니다. 먼저 primitive type을 정렬할 때 어떻게 동작할까요? Array.class 안으로 들어가 보겠습니다. int형을 저장해 놓은 배열을 정렬하려는 경우보시면, rangeCheck를 하고, DualPivotQuickSort로 들어간다는 것을 알 수 있습니다. short형은 어떨까요? 마찬가지입니다. DualPivotQuickSort 안으로 들어가 보겠습니다. 먼저, int형 배열을 정렬하는 경우입니다. QuickSort_ThreasHold보다 작으면 s..
레퍼런스/분석
2020. 6. 28. 23:58
최근댓글