일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바
- 동적계획법
- 버블정렬
- java
- 알고리즘
- 프로그래밍
- 선택정렬
- 백준
- 병합정렬
- 프로그래밍언어
- 삽입정렬
- 선택알고리즘
- 백트래킹
- 수학
- 동적프로그래밍
- Median of Medians
- 기수정렬
- DP
- 다이나믹프로그래밍
- 퀵정렬
- 안드로이드
- SNS
- 힙정렬
- 정수론
- 자료구조
- 정렬
- 코딩테스트
- 재귀
- 계수정렬
- C++
- Today
- Total
목록정렬 (11)
MODE::CREATIVE
https://www.acmicpc.net/problem/1431문제 해석문제에 제시된 조건으로 문자열들을 정렬한다알고리즘 분류정렬풀이C++ STL인 sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp) 함수에 문제에 제시된 비교조건을 구현하여 인자로 사용한다 코드#include #include #include #include #include using namespace std;bool cmp(const string &o1, const string &o2) { if (o1.length() != o2.length()) { return o1.length() > n; vector serials(n); ..
https://www.acmicpc.net/problem/2108문제 해석산술평균, 중앙값, 최빈값, 범위 구하기알고리즘 분류수학정렬풀이배열의 값을 모두 더한후 나눠 산술평균을 구한다배열을 정렬해 중앙값, 범위를 구한다정수의 절대값이 4000까지인 점을 참고하여 최빈값을 구한다코드#include #include #include #include #include #include using namespace std;int n;double sum = 0;int arr[800001] = {0, };void qSort(int A[], int start, int end) { if (start >= end) return; int pivot = start; int i = start + 1; int..

숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬고급 정렬 알고리즘 O(n*logn)1.병합정렬2.퀵정렬3.힙정렬특수 정렬 알고리즘 O(n)1.계수정렬2.기수정렬 기수 정렬(Radix Sort)은 정수들의 정렬을 위해 사용하는 알고리즘 중 하나입니다. 비교 기반의 정렬 알고리즘이 아니라, 각 숫자의 자리수를 기준으로 정렬을 수행하는 방식을 사용합니다. 기수 정렬의 시간 복잡도는 O(NK)입니다. 여기서 N은 정렬할 숫자의 개수, K는 숫자의 최대 자리수입니다. 따라서 데이터의 개수가 많고, 숫자의 범위가 클 경우에는 다른 정렬 알고리즘에 비해 빠른 성능을 보여줍니다.하지만 기수 정렬..

숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬고급 정렬 알고리즘 O(n*logn)1.병합정렬2.퀵정렬3.힙정렬특수 정렬 알고리즘 O(n)1.계수정렬2.기수정렬 계수 정렬(Counting Sort) 이란계수 정렬(Counting Sort)은 정수나 정수로 변환할 수 있는 자료에 대해서만 적용 가능한 효율적인 정렬 알고리즘입니다. 이 알고리즘의 작동 방식은 입력의 범위가 제한적일 때 매우 효과적이며, 시간 복잡도는 O(n)입니다. 계수 정렬의 기본 아이디어는 각 숫자를 계산(count)하고, 이를 기반으로 정렬된 배열을 생성하는 것입니다. 계수 정렬(Counting Sort) 과정계..

숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬고급 정렬 알고리즘 O(n*logn)1.병합정렬2.퀵정렬3.힙정렬특수 정렬 알고리즘 O(n)1.계수정렬2.기수정렬 정렬(Heap Sort)이란힙 정렬(Heap Sort)은 완전 이진 트리를 바탕으로 한 정렬 방식입니다. 힙 정렬은 이진 힙(이진 트리의 한 종류)의 특징을 활용하여 정렬을 수행하며, 이진 힙에는 최대 힙(Max Heap)과 최소 힙(Min Heap)이 있습니다.힙 정렬의 기본 원리는 다음과 같습니다: 1. 먼저, 정렬되지 않은 배열을 최대 힙으로 변환합니다. 최대 힙이란 부모 노드가 자식 노드보다 크거나 같은 완전 이진 트..

숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬고급 정렬 알고리즘 O(n*logn)1.병합정렬2.퀵정렬3.힙정렬특수 정렬 알고리즘 O(n)1.계수정렬2.기수정렬퀵정렬이란퀵 정렬(Quick Sort)은 분할 정복 방식의 효율적인 정렬 알고리즘 중 하나입니다. 퀵 정렬은 배열을 두 부분으로 분할하고, 각 부분을 재귀적으로 정렬하여 전체 배열을 정렬합니다. 분할 시 기준이 되는 '피벗'을 선택하고, 피벗보다 작은 요소는 왼쪽, 큰 요소는 오른쪽으로 이동합니다. 퀵 정렬의 시간 복잡도는 평균적으로 O(n log n)입니다. 하지만 최악의 경우(이미 정렬된 배열 등) O(n^2)이 될 수 있..