책 내용 질문하기
버블정렬 좌우로 번갈아 가면서 정렬
도서
[2015] 정보처리기사 실기(산업기사 포함)
페이지
135
조회수
547
작성일
2015-07-01
작성자
탈퇴*원
첨부파일

버블 정렬3 - 좌우로 번갈아 가면서 정렬

레프트와 라이트에 대해서 설명부탁드립니다.

답변
2015-07-01 09:21:28

안녕하세요.

좌우 버블 정렬은

왼쪽에서 오른쪽으로 정렬할 때마다 매 회전 대상 마지막에 가장 큰 값이 위치됩니다.

또한 오른쪽에서 왼쪽으로 정렬할 때는 매 회전 대상 앞쪽에 가장 작은 값이 위치됩니다.

이렇게 매 회전별로 정렬이 수행될 때 이미 정렬이 완료된 앞쪽이나 끝쪽의 값들은 비교할 필요가 없게 됩니다.

비교를 하지 않기 위해서는 이미 정렬이 완료된 앞쪽이나 끝쪽의 위치를 매번 기억해야 하는데,

매 회전 시 정렬 확인 대상의 앞쪽을 Left 변수가 정렬 확인 대상의 끝쪽을 Right 변수가 저장하고 있게 됩니다.

매 회전별로 정렬을 수행하다 정렬 대상의 위치가 Left나 Right 값과 같아지면 더이상 정렬을 수행하지 않고 다음 과정을 진행하도록 하여 불필요한 시간을 줄이게 되는 것이죠.

오늘도 즐거운 하루 되세요.

  • *
    2015-07-01 09:21:28

    안녕하세요.

    좌우 버블 정렬은

    왼쪽에서 오른쪽으로 정렬할 때마다 매 회전 대상 마지막에 가장 큰 값이 위치됩니다.

    또한 오른쪽에서 왼쪽으로 정렬할 때는 매 회전 대상 앞쪽에 가장 작은 값이 위치됩니다.

    이렇게 매 회전별로 정렬이 수행될 때 이미 정렬이 완료된 앞쪽이나 끝쪽의 값들은 비교할 필요가 없게 됩니다.

    비교를 하지 않기 위해서는 이미 정렬이 완료된 앞쪽이나 끝쪽의 위치를 매번 기억해야 하는데,

    매 회전 시 정렬 확인 대상의 앞쪽을 Left 변수가 정렬 확인 대상의 끝쪽을 Right 변수가 저장하고 있게 됩니다.

    매 회전별로 정렬을 수행하다 정렬 대상의 위치가 Left나 Right 값과 같아지면 더이상 정렬을 수행하지 않고 다음 과정을 진행하도록 하여 불필요한 시간을 줄이게 되는 것이죠.

    오늘도 즐거운 하루 되세요.

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