인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

9ma's profile image
9ma

asked

Hong Jeong-mo's C Language: Learn by Following

11.7 Solving the Selection Sort Problem

코드 관련 질문입니다.

Resolved

Written on

·

180

0

안녕하세요 교수님!
항상 좋은 강의와 피드백 감사드립니다.
본 강의에서 내주셨던 예제를 스스로 구현해봤는데요,
교수님 코드와는 조금 달라 관련해서 질문을 드리고자 합니다.

제가 짠 코드에선 swap 함수가 for문 내에 위치하고 있습니다.

이렇게 되면,
1) 반복 횟수만큼 swap 함수도 실행되니, 상대적으로 반복문을 덜 수행하게 되는 교수님 코드보다, 실행할 때 조금 더 느린 속도를 보일 거라 생각했습니다.
혹시 이러한 제 생각이 정확한가요?

2) 또한, 1) 이외에 제가 짠 코드에서, 더 좋은 코드로 가기 위해
고려해볼만 한 부분이 있다면, 조언 부탁드립니다. :)

void selectionSort(int arr[], int n)
{
	int i, j, min_idx;

	min_idx = 0;

	for (i = 0; i < n - 1; i++)
	{
		for (j = i + 1; j < n; j++)
		{
			if (arr[i] > arr[j]) {
				min_idx = j;
				swap(arr + i, arr + min_idx);
			}
		}
	}
}
c

Answer 1

1

honglab님의 프로필 이미지
honglab
Instructor

다양한 방법으로 시도해보시는 것은 좋은 일입니다.

아쉽게도 코드를 직접 봐드리기는 어려운데, 이런 궁금증을 갖고 계시는 경우에는 몇 번 호출되는지 세보는 코드를 추가해서 확인하시는 방법, 디버거로 상황을 한 줄 한 줄 파악하는 방법 등이 있겠지요.

자료구조와 알고리즘 공부 시작하시면 computation complexity를 배우시게 되는데 그때 또 다른 사고방식을 터득하시게 될겁니다.

9ma's profile image
9ma

asked

Ask a question