본문 바로가기

CS13

[정렬 알고리즘] 버블 정렬 2021.08.23 - [자료구조 & 알고리즘] - [알고리즘] 정렬 📎 버블 정렬 버블 정렬은 맨 끝단부터 이웃한 두 요소의 비교-교환의 과정을 진행하며 정렬하는 알고리즘이다. 버블정렬의 과정 정렬되지 않은 배열의 왼쪽 혹은 오른쪽 끝단부터 시작 이웃한 두 요소 비교, 정렬 n개의 요소일 경우 n-1번만큼 반복 설명자체로만 보면 선택 정렬과 매우 유사하다. 단 버블 정렬의 포인트는 이웃한 두 요소를 비교-교환하는 패스 과정으로 진행된다는 점이다. 그림으로 보면 이렇다. 배열의 왼쪽 끝단에서부터 진행방향 -> 로 정렬을 수행한다. 이웃하는 두 요소를 비교, 정렬한다. 이미 대소관계대로 정렬되어 있으니 바로 다음 요소로 넘어간다. 두 요소를 비교, 정렬한다. 앞요소보다 뒷요소가 더 작으니 둘의 자리를 바꿔.. 2021. 9. 8.
[정렬 알고리즘] 선택 정렬 2021.08.23 - [자료구조 & 알고리즘] - [알고리즘] 정렬 📎 선택 정렬 선택 정렬은 작은 요소의 순서대로 선택해 앞쪽으로 위치를 옮겨 순서대로 정렬하는 알고리즘이다. 선택정렬의 과정 정렬되지 않은 배열의 요소 중 가장 작은 요소(최솟값) 선택 정렬되지 않은 배열의 요소 중 첫 요소(제일 왼쪽에 위치한 요소)와 자리 바꿈 n개의 요소일 경우 n-1번만큼 반복 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 package com.doit.java... 2021. 9. 7.
[알고리즘] 정렬 정렬 정렬이란 우리가 일반적으로 아는 오름차순 정렬, 내림차순 정렬할 때 정렬을 말한다. 정석적인 정의는 이렇다. 즉 조건에 따라 순서 재배열 하기가 정렬이다. 작은 수부터 큰 수까지의 정렬이 오름차순 정렬, 큰 수부터 작은 수까지 정렬이 내림차순 정렬이다. 정렬의 방법 내부정렬 외부정렬 정렬의 방법에는 내부정렬과 외부정렬이 있다. 내부정렬이 일반적인 정렬이다. 정렬할 데이터가 하나의 배열에 저장될 수 있으면 사용하는 정렬법이다. 외부정렬은 데이터가 너무 많아 하나의 배열에 저장될 수 없는 경우 사용하는 정렬법이다. 정렬 알고리즘의 핵심 요소 교환, 선택, 삽입이 있고 이 세가지 요소를 이용해 알고리즘을 설계한다. 정렬의 종류 버블 정렬 선택 정렬 삽입 정렬 퀵 정렬 병합 정렬 힙 정렬 📎 버블 정렬 버.. 2021. 8. 23.
기본 알고리즘 (알고리즘 개념 / 알고리즘 기초 / Algorithm) 알고리즘 Algorithm 알고리즘이란 쉽게 말하면 문제해결 순서이고 자료구조를 구현한 방법론이다. 어떤 문제에 대해, 목표를 달성하기 위해, 해결해야할 작업을 단계적으로 지시해 놓은 것을 말한다. 알고리즘의 4단계 문제 정의 : 해결하고자 하는 바를 input / output 나눠 정의한다. 알고리즘 설명 : 해결하기 위해 할 일들을 단계적으로 정의한다. 정확성 증명 : 알고리즘이 맞는지 수학적으로 증명 성능 분석 : 시간, 공간 복잡도 알고리즘은 반드시 끝이 있다. 시간이 얼마나 걸리든 작업 단계의 횟수는 정해져있다. 여기서 시간, 공간 복잡도가 나온다. 알고리즘은 방법론이고 성능을 측정하는데는 측정 환경에 따라 달라질 수 밖에 없다. 그래서 시간 복잡도는 얼마나 걸리는지가 아니라 얼마나 수행하는지에.. 2021. 8. 23.