책 내용 질문하기
기사실기(산업기사포함) 135쪽 유형3 버블정렬 3 질문있습니다
도서
[2014] 정보처리기사 실기(산업기사 포함)
페이지
137
조회수
84
작성일
2014-06-20
작성자
첨부파일

135~137쪽에 관한 질문이있습니다.

137쪽의 알고리즘을 오름정렬을 통해 풀기위해 초기값을 10,9,8,7,6,5,4,3,2,1로 주고 풀면

⑪,⑫ 의 shift = i 를 통해 Right = shift 로 right 9 8 7 ... 이 되고

18,19의 shift=i 를 통해 left=shift로 left의 값이 2 3 4 5 ...이되고

결국

1,2,3,4,5,6,7,8,9,10 으로 바뀌는 걸 이해 할수있었습니다.

그런데

1,2,3,4,5,6,7,8,10,9 의 값을 주고 풀면

⑪,⑫ 의 shift = i 를 통해 Right = shift 로 right 9 가 된상황에서

1,2,3,4,5,6,7,8,9,10 이미 완벽해지게 되어서

13의 반복문을 돌리면 6의 반복문을통해 18의 shift = i 문이 돌아가지 않기 떄문에

오른쪽정렬에서 shift 에 들어간 9 값이 바로 left =shift

즉 left=9 가되고 Left < RIght 비교에서 No로 나와서

끝나게 되는건가요?

답변
2014-06-20 09:21:54

안녕하세요.

왼쪽에서 오른쪽 방향의 정렬을 수행하고 나서 Shift는 9가 되고 그 값이 Right에 저장됩니다.

이어서 오른쪽에서 왼쪽 방향의 정렬을 수행할 때는 앞서 이미 정렬이 완료되었으므로 더이상 추가 정렬이 없으므로 Shift의 값은 변화가 없습니다.

그래서 Left도 9가 됩니다.

결국 Right와 Left가 같아지게 되므로 Left < Right에서 No가 되어 종료되게 됩니다.

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

"
  • *
    2014-06-20 09:21:54

    안녕하세요.

    왼쪽에서 오른쪽 방향의 정렬을 수행하고 나서 Shift는 9가 되고 그 값이 Right에 저장됩니다.

    이어서 오른쪽에서 왼쪽 방향의 정렬을 수행할 때는 앞서 이미 정렬이 완료되었으므로 더이상 추가 정렬이 없으므로 Shift의 값은 변화가 없습니다.

    그래서 Left도 9가 됩니다.

    결국 Right와 Left가 같아지게 되므로 Left < Right에서 No가 되어 종료되게 됩니다.

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

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