• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

필수실습문제-버블정렬 설명에 대한 질문

24.01.21 21:01 작성 조회수 162

1

강사님께서 설명하시는 버블정렬에 대한 설명을 듣고 질문 드립니다.

해당 영상의 초기 부분에 버블정렬에 대해 설명을 해주시는데, 해당 설명이 버블정렬에 대한 설명이 맞는지 문의드립니다.

설명해주신 내용은 선택 정렬이 아닐까 생각이 듭니다.

버블정렬은 맨 왼쪽 부터(작은수) 정렬되는 것이 아닌 가장 오른쪽(큰 수)부터 정렬이 되는 것으로 알고 있습니다.

1회차에서 가장 큰 값이 정해지고 그 다음 회차를 반복하면서 그 다음 으로 큰 수가 정해지는 방식으로 알고 있는데요, 그런데 영상 속 설명에서는 가장 왼쪽 값(작은 수)가 정해지면 1회차가 종료되며, 그 뒤에 그 다음으로 작은 수를 구하는 방식으로 진행하는 것으로 설명하는 것으로 보입니다.

확인 부탁드립니다

감사합니다.

 

참조 링크: https://ko.wikipedia.org/wiki/%EB%B2%84%EB%B8%94_%EC%A0%95%EB%A0%AC

 

답변 2

·

답변을 작성해보세요.

0

노호연님의 프로필

노호연

2024.02.28

저도 버블 정렬이 버블이 한 쪽으로 떠가면서 구현한다는 이미지 때문에 착각했는데, 해당 구현 방법도 원리는 동일하다는 것을 깨닫는데까지 꽤나 시간이 오래 걸렸네요 ㅠㅠ

0

버블 정렬이 맞습니다. 선택 정렬과 버블 정렬을 구분하는 가장 대표적인 특징은 교환 시점 입니다. 선택 정렬은 선택한 최소, 최댓값을 한 번만 교환합니다. 그러나 버블 정렬은 비교 후 즉시 교환합니다. 쉽게 생각해 1등 자리에 올라야 할 대상을 지속적으로 교체해듯 바꿔 나가는 것이죠.

그리고 정렬의 위치가 왼쪽인지 오른쪽인지는 중요하지 않습니다. 그것은 구현의 문제에 해당하며 원리에 영향을 주지는 못합니다. 참고하시기 바랍니다. 😄

maze님의 프로필

maze

질문자

2024.01.22

그렇군요. 제가 너무 편협하게만 생각했었네요.

쉽게 설명해주셔서 감사합니다.

이 질문은 다른 분들도 입문을 하시면서 같은 생각을 가지실 수도 있을 것 같아서 질문은 남겨두겠습니다.

수업 잘 듣고 있습니다.

감사합니다~