알고리즘 노팅 - 정렬 종류와 구현(선택정렬)

Gary's Note·2021년 11월 17일
0
post-thumbnail

1. ToDo

- 그냥 문득 내용을 공부하면서 정리하고 싶어진 정렬 알고리즘


2. 종류

  • 선택 정렬

  • 삽입 정렬

  • 버블 정렬

  • 합병 정렬

  • 퀵 정렬


3. 개념설명

  • 글로 끄적..

    값이 큰 순서, 작은 순서에 따라 최소 기준 또는 최대 기준으로 정렬을 시작한다. 정렬이 되지 않은 모든 값을 판별하여 비교하고 인덱스(순서)를 변경한다. 평균 시간 복잡도는 O(n^2)이므로 데이터 수가 많아질수록 더욱 오래 걸린다.
  • 그림으로 쓱삭..

    아래와 같은 그림으로 진행되고 배열의 수만큼 반복한다.(아래 그림은 최솟값 기준이고 최댓값도 동일하게 작용한다.




4. 코드로 투닥투닥.. (C#)

int[] array = { 7, 5, 4, 3, 8, 9, 10, 2, 6, 1 };
int min = array[0];
int temp = 0;

//이중For문으로 탐색 및 비교
for (int i = 0; i < array.Length - 1; i++)
{
	for (int j = i + 1; j < array.Length; j++)
	{
		if (array[i] > array[j])
		{
			temp = array[i];
			array[i] = array[j];
			array[j] = temp;
		}
	}
}

for (int i = 0; i < array.Length; i++)
{
	Console.Write(array[i] + " ");
}
profile
기록~기록~기록~기록~

0개의 댓글