별의 공부 블로그 🧑🏻‍💻

🗒️ sorting (7)

728x90
  1. 2022.06.28 [Python] 정렬(Sort) : 선택 정렬, 삽입 정렬, 버블 정렬, 퀵 정렬

    정렬(Sort) 정렬의 기본 정렬의 개념 정렬(Sort) : 자료들을 일정한 순서대로 나열하는 것 순서대로 나열할 때는 작은 것부터 나열하는 방법(오름차순)과 큰 것부터 나열하는 방법(내림차순)이 있다. 오름차순 정렬(Ascending Sort) : 작은 것부터 큰 순으로 나열된 방법 내림차순 정렬(Descending Sort) : 큰 것부터 작은 순으로 나열된 방법 정렬의 대표적인 예 : 사전 정렬 알고리즘의 종류 오름차순 정렬이든 내림차순 정렬이든 결과의 형태만 다를 뿐, 같은 방식으로 처리된다. 정렬하는 방법에 대한 알고리즘은 수십 가지이다. 이해하고 구현하기 쉽지만 속도가 느린 알고리즘 이해와 구현이 어렵지만 속도가 빠른 알고리즘 특수한 상황에서만 효율적인 알고리즘 메모리를 적게 사용하는 알고리즘..

  2. 2021.06.02 [C++] 퀵 정렬(Quick Sort)

    퀵 정렬(Quick Sort) 퀵 정렬은 분할 정복(Divide and Conquer) 알고리즘 을 이용하여 구현됨. 병합 정렬과 퀵 정렬의 비교 병합 정렬(Merge Sort) 대용량의 데이터 정렬 퀵 정렬(Quick Sort) 평균 실행 시간을 줄이는 것 기본 아이디어는 병합 정렬과 같음. 원본 입력 배열을 작은 크기의 부분 배열로 나눔. 각 부분 배열을 정렬함. 그 결과를 합쳐서 전체 정렬 배열을 생성함. 핵심 병합(Combine)이 아니라 분할(Split) 입력 배열이 주어지고, 입력 배열 중 피벗(Pivot) 원소 P를 선택했을 경우, 퀵 정렬을 위한 분할 연산 은 다음의 2단계로 이루어짐. ① 입력 배열을 2개의 부분 배열 R과 L로 나눔. L 입력 배열에서 P 보다 작거나 같은 원소를 포함하..

  3. 2021.06.02 [C++] 병합 정렬(Merge Sort)

    병합 정렬(Merge Sort) 병합 정렬은 분할 정복(Divide and Conquer) 알고리즘 을 이용하여 구현됨. 병합 알고리즘은 다음과 같은 과정으로 정렬을 수행함. ① 많은 원소로 구성된 전체 집합을 작은 크기의 부분 집합 으로 나눔. ② 각각의 부분 집합을 정렬함. ③ 정렬된 부분 집합을 오름차순 또는 내림차순 순서를 유지함. ④ 각각의 부분 집합을 합침. 그림) 병합 정렬을 사용하여 정수 배열을 정렬하는 예 전체 배열을 여러 개의 부분 배열로 나누는 작업을 반복함. 각 부분 배열이 하나의 원소를 가질 때 멈춤. (1단계 ~ 4단계) 이후에는 다시 배열을 합치는 작업을 반복함. 합쳐진 배열의 원소 순서가 오름차순을 유지하도록 조정함. 코드 템플릿을 사용하여 정렬할 데이터 타입에 의존적이지 않..

  4. 2021.04.03 [코틀린] 컬렉션의 순서와 정렬 예제

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 fun main() { val unsortedList = listOf(3, 2, 7, 5) // reversed: 뒤집힌 순서로 컬렉션 반환 println("reversed: " + unsortedList.reversed()) // sorted: 요소를 정렬한 후 정렬된 컬렉션 반환 println("sorted: " + unsortedList.sorted()) // sortedDescending: 내림차순 정렬 println("sortedDescending: " + unsortedList.sortedDescending()) // sortedBy: 특정 비교식에 의해 정렬된 컬렉션 반환 println("sortedBy: " + unsor..

  5. 2020.11.02 버블 정렬(Bubble Sort)

    *버블 정렬(Bubble Sort) 12345678910111213141516171819202122232425#include #define SIZE 5 int main() { int i, k; int list[SIZE] = {16, 7, 9, 1, 3}; // 배열의 요소 정렬 for (k = 0; k

  6. 2020.06.18 qsort 함수 : 퀵 정렬 라이브러리 함수

    *qosrt 함수 : 퀵 정렬 라이브러리 함수 - C에서 제공하는 퀵 정렬 표준 라이브러리 함수- 사용하려면 헤더 파일을 불러와야 한다. void qsort(void *base, int num, int width, int (*compare)(const void *, const void *));base : 배열의 시작 주소num : 배열 요소의 개수width : 배열 요소 하나의 크기(바이트 단위)compare비교 함수포인터를 통하여 두 개의 요소를 비교하여 비교 결과를 정수로 반환사용자가 제공해야 함.반환값 0 : elem1이 elem2보다 크면- 사용 예 #include #include // qsort() int comp..

  7. 2017.06.18 [C] 정렬(Sorting)

    정렬(Sorting) - 정렬(sorting) : 물건을 크기순으로 오름차순(ascending order)이나 내림차순(descending order)으로 나열하는 것. - 정렬은 컴퓨터공학을 포함한 모든 과학 기술 분야에서 가장 기본적이고 중요한 알고리즘 중의 하나로 일상생활에서 많이 사용됨. - 정렬은 자료 탐색에 있어서 필수적임. - 일반적으로 정렬시켜야 될 대상은 레코드(record)라고 불림. - 레코드는 다시 필드(field)라고 하는, 더 작은 단위로 나누어짐. - 여러 필드 중에서 특별히 레코드와 레코드를 식별해주는 역할을 하는 필드를 키(key)라고 함. 레코드 { [필드][필드][필드][필드][필드][필드][필드][필드][필드][필드] 레코드 { [필드][필드][필드][필드][필드][필..

728x90


📖 Contents 📖