-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
sort 알고리즘에 대해서 질문드립니다.
21.01.23 10:46 작성 조회수 186
0
강의에서는 배열이 뒤죽박죽이지만 만약 이미 정렬이 된 배열이라면 swap 부분에서 같은 값을 의미없이 주고받게 되는 것 같습니다. 그리고 본 강의에서도 10이 첫번째로 나왔고, 가장 작기 때문에 스왑을 하는 의미가 없는 것 같았습니다.
혹시 swap을 하기 전에
if (minIndex == i)
continue;
를 통해서 바꿀 필요가 없는 경우 스왑을 생략하고 넘어가는 부분을 넣으면 어떤가요? 큰 의미가 없는 것인지 궁금합니다. 그리고 저 부분을 넣어서 실행해보았을 때, 정상적으로 Sort함수가 작동하였지만 혹시라도 틀린 부분이 있을까요?
마지막으로 강사님께서 sort 알고리즘이 여러가지 있다고 하셔서 검색을 해보았는데 이 방법이 선택정렬(Selction Sort)이 맞을까요?
답변을 작성해보세요.
1
Rookiss
지식공유자2021.01.23
네 선택 정렬이 맞습니다.
그리고 말씀하신 if 체크를 하는 것도 물론 좋은 선택이고
그럴 경우 아주 미세하게 성능 향상이 있을 수 있습니다.
지금은 swap하는 부분이 애당초 연산량이 많지 않아 큰 차이가 없지만,
그게 아니고 복잡한 로직이 실행되는 것이었다면
반드시 넣어야 하는 필수적인 예외 체크가 되었을 겁니다.
0
답변 2