본문 바로가기

정렬2

[알고리즘] - 버블 정렬 (bubble sort) 1. 버블 정렬(bubble sort)이란? 인접한 데이터끼리 비교, swap 연산을 수행하여 정렬하는 방법 버블 정렬이란 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다. 알고리즘은 간단하나, 시간 복잡도는 O(n²) 으로 다른 정렬 알고리즘들에 비해서 느린 편에 속한다. 2. 버블 정렬의 수행 방식 버블 정렬의 수행 과정 ① 정렬할 범위의 앞부분부터 인접한 두 원소의 값을 비교한다. ② 앞 원소가 더 크다면 swap한다. / 뒤 원소가 더 크다면 continue ③ 정렬할 범위의 끝부분까지 반복한다. => 반복이 끝나면 정렬할 범위는 1 감소, 정렬된 범위는 1 증가한다. ④ 새로운 정렬할 범위를 얻었다. 다시 ①부터 반복한다. 3. 버블 정렬 구현 (C++) #include using name.. 2024. 2. 13.
[C++] - sort()함수 사용법 정리(STL) 이전에 STL에 대해 설명했던 포스팅에서 알고리즘(algorithm)에 대하여 간단히 알아보았다. 오늘은 알고리즘의 템플릿 함수들 중, 정렬 시 유용하게 사용할 수 있는 sort() 함수에 대하여 알아보자. 자료구조와 알고리즘을 배우기 시작하면 선택 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬, 버블 정렬, 힙 정렬 등등 다양한 정렬 방법에 대하여 공부하게 된다. 하지만 C++의 STL에는 이미 간단한 코드 몇줄로 정렬을 수행할 수 있는 라이브러리가 구현되어 있다. 따라서 복잡하게 정렬 알고리즘을 구현할 필요가 없다. (참고로 sort()의 시간 복잡도는 nlogn 이다.) sort() 사용법 sort함수는 배열의 원소들을 정렬할 때 사용하며, 기본적으로 오름차순으로 정렬한다. sort()함수를 사용하기 위.. 2024. 1. 2.