책 내용 질문하기
정보처리기사 버블정렬 좌우로 번갈아가며 정렬 질문 있습니다
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
282
조회수
93
작성일
2018-04-12
작성자
탈퇴*원
첨부파일
정보처리기사, 알고리즘, 282p, 버블정렬 3- 좌우로 번갈아 가면서 정렬 책 중간 부분에 동그라미 (1) 1회전 : 자료가 5건인 경우~~~ 없다 뒤에 Left : 1, Right : 4 라고 있는데 마지막까지 교환 하고 나면 43251 니까 Left 가 4, Right 가 1 아닌가요? 좌우를 무엇을 기준으로 하는지 궁금합니다.. 그리고 같은 질문인것 같지만 그에 따른 뒷 페이지 순서도에서도 Left < Right 라고 되어있는데 오른쪽이 크다에 Yes 면 정렬이 다 된 것 아닌가요? 왼쪽 오른쪽을 저는 제가 바라보는 책 기준 오른손쪽이 Right 이라고 생각했는데 아닌지 궁금합니다. 감사합니다
답변
2018-04-12 10:29:35

안녕하세요.

1회전에서

Right가 4라는 것은 정렬 대상의 끝 부분이 4라는 것입니다.

정렬 방향이 왼쪽에서 오른쪽 방향으로 진행되므로 오른쪽 마지막 정렬 대상이 4라는 의미입니다.

즉 자료가 5건인 경우 1회전에서 마지막 다섯번째 자료는 네번째 자료와 비교하면 되므로

정렬 대상의 끝 부분은 4입니다. 4와 5가 비교해서 정렬되므로

그래서 right가 4인 것입니다.

2회전에서

Left가 2라는 것은 정렬 대상의 끝 부분이 2라는 것입니다.

정렬 방향이 오른쪽에서 왼쪽 방향으로 진행되므로 왼쪽 마지막 정렬 대상이 2라는 의미입니다.

오른쪽부터 정렬이 진행되어 왼쪽 방향으로 진행될 때 배열의 두 번째 자료를 기준으로 하면

두 번째 자료는 첫 번째자료와 비교되므로 두 번째 자료까지만을 기준 대상으로 삼으면 됩니다.

그래서 Left가 2인 것입니다.

이런 원리로 정렬되는 방향을 기준으로 Right와 Left 값을 이해하면서

디버깅 표에 제시된 각 변수들의 값 변화를 함께 연계하면서 살펴보시면 좀 더 쉽게 이해될 수 있습니다.

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

  • *
    2018-04-12 10:29:35

    안녕하세요.

    1회전에서

    Right가 4라는 것은 정렬 대상의 끝 부분이 4라는 것입니다.

    정렬 방향이 왼쪽에서 오른쪽 방향으로 진행되므로 오른쪽 마지막 정렬 대상이 4라는 의미입니다.

    즉 자료가 5건인 경우 1회전에서 마지막 다섯번째 자료는 네번째 자료와 비교하면 되므로

    정렬 대상의 끝 부분은 4입니다. 4와 5가 비교해서 정렬되므로

    그래서 right가 4인 것입니다.

    2회전에서

    Left가 2라는 것은 정렬 대상의 끝 부분이 2라는 것입니다.

    정렬 방향이 오른쪽에서 왼쪽 방향으로 진행되므로 왼쪽 마지막 정렬 대상이 2라는 의미입니다.

    오른쪽부터 정렬이 진행되어 왼쪽 방향으로 진행될 때 배열의 두 번째 자료를 기준으로 하면

    두 번째 자료는 첫 번째자료와 비교되므로 두 번째 자료까지만을 기준 대상으로 삼으면 됩니다.

    그래서 Left가 2인 것입니다.

    이런 원리로 정렬되는 방향을 기준으로 Right와 Left 값을 이해하면서

    디버깅 표에 제시된 각 변수들의 값 변화를 함께 연계하면서 살펴보시면 좀 더 쉽게 이해될 수 있습니다.

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

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