책 내용 질문하기
2018년 1회 정보처리기사 질문 입니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
0
조회수
245
작성일
2019-04-11
작성자
탈퇴*원
첨부파일
아래 붙임 파일 문제가 오름차순으로 정렬되는 이유는? Sw=i, sw=j 이런 변수가 있어서 그런간가요? Sw변수는 무슨 역할을 하는지 잘 모르겠습니다
답변
2019-04-12 11:01:04

안녕하세요 길벗수험서 운영팀입니다.

 

선택정렬 알고리즘을 떠올려 보세요.

선택정렬에서 오름차순을 한다고 가정했을 때 첫회전에서

a[0]을 기준으로 a[1]~a[n]까지 비교해가면서 작은 경우 매번 교환이 이뤄질 것입니다.

 

해당 알고리즘은 조금 다릅니다.

a[0]을 기준으로 작은 것이 있다면 해당 위치를 sw에 기억합니다.

5 / 4 / 7 / 2 / 3

이 배열에 있다고 가정하죠.

a[0] 을 갖고 a[1]을 비교하면 4<5는 참이므로 a[1]을 기억합니다.

다음 2와 비교할 때 2<4는 참이므로 a[4]를 기억합니다.

 

이제 기억한 a[4]를 처음 기준이 되는 a[0]과 교환합니다.

2 / 4 / 7 / 5 / 3

이렇게 바뀌게 되죠.

 

즉, a[0]부터 a[n]까지 회전하면서 자기보다 뒤에 있는 값중 최소값의 위치를 sw에 저장하여 마지막에 교환하는 방식입니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-04-12 11:01:04

    안녕하세요 길벗수험서 운영팀입니다.

     

    선택정렬 알고리즘을 떠올려 보세요.

    선택정렬에서 오름차순을 한다고 가정했을 때 첫회전에서

    a[0]을 기준으로 a[1]~a[n]까지 비교해가면서 작은 경우 매번 교환이 이뤄질 것입니다.

     

    해당 알고리즘은 조금 다릅니다.

    a[0]을 기준으로 작은 것이 있다면 해당 위치를 sw에 기억합니다.

    5 / 4 / 7 / 2 / 3

    이 배열에 있다고 가정하죠.

    a[0] 을 갖고 a[1]을 비교하면 4<5는 참이므로 a[1]을 기억합니다.

    다음 2와 비교할 때 2<4는 참이므로 a[4]를 기억합니다.

     

    이제 기억한 a[4]를 처음 기준이 되는 a[0]과 교환합니다.

    2 / 4 / 7 / 5 / 3

    이렇게 바뀌게 되죠.

     

    즉, a[0]부터 a[n]까지 회전하면서 자기보다 뒤에 있는 값중 최소값의 위치를 sw에 저장하여 마지막에 교환하는 방식입니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.