프로그래밍/알고리즘 (2) 썸네일형 리스트형 [정렬 알고리즘] 버블정렬 (Bubble Sort) 버블정렬 (Bubble Sort): 인접한 두 원소를 비교하여 순서가 잘못된 경우 교환하는 방식 동작 방식배열의 첫 번째 원소부터 인접한 다음 원소 비교원소의 순서가 잘못되었으면 교환1, 2 과정을 배열 끝까지 반복 → 마지막 원소는 가장 큰 값이므로 정렬 확정된 수가 됨반복할(Loop) 때마다 마지막 원소는 정렬되므로 다음 반복은 마지막 원소를 제외한 범위만 비교위 과정을 반복 시간 복잡도 최악의 경우 : 모든 값을 비교하고 교환해야 하기 때문에 시간이 입력 데이터 크기의 제곱만큼 늘어남 → O(n^2)최선의 경우 : 배열이 이미 정렬되어 있는 경우 한 번 순회만으로 정렬이 끝 → O(n) 예제 C언어#define _CRT_SECURE_NO_WARNINGS#define SIZE 5#includ.. [정렬 알고리즘] 선택정렬 (Selection Sort) 선택정렬 (Selection Sort): 가장 작은 값(또는 가장 큰 값)을 선택하여 배열의 앞쪽에 차례대로 정렬하는 방식 동작방식 배열의 첫번째 위치부터 전체 배열까지 가장 작은 값 찾기첫번째 위치 값과 가장 작은 값을 바꿈 (스와핑) 두번째 위치로 이동하고 같은 과정 반복배열의 끝까지 반복 시간복잡도배열이 정렬된 상태든, 정렬되지 않은 상태든, 항상 같은 시간 복잡도 → O(n^2) 스와핑 (Swapping): 두 변수의 값을 교환하는 작업// 배열로 바꿔야 함int a = 1;int b = 3;int tmp;tmp = a;a = b;b = tmp;a의 값은 3, b의 값은 1로 교환 로또 번호 예제 - 중복 제거 후 정렬 C언어#define _CRT_SECURE_NO_WARNINGS#de.. 이전 1 다음