알고리즘(18)
-
[알고리즘] 정렬-병합정렬(Merge Sort)
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬고급 정렬 알고리즘 O(n*logn)1.병합정렬2.퀵정렬3.힙정렬특수 정렬 알고리즘 O(n)1.계수정렬2.기수정렬 병합정렬이란병합 정렬(Merge Sort)는 분할 정복 알고리즘의 일종으로, 배열을 반으로 나누어 각각을 정렬한 후, 두 개의 정렬된 배열을 병합하여 하나의 정렬된 배열을 만드는 방식입니다. 이 정렬 방법은 다음과 같은 순서로 진행됩니다.1. 분할(Divide): 입력 배열을 같은 크기의 2개의 부분 배열로 분할합니다. 부분 배열의 크기가 1 또는 0이 될 때까지 이 과정을 반복합니다. 2. 정복(Conquer): 부분 ..
2024.01.03 -
[알고리즘] 정렬-삽입정렬(Insertion Sort)
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로) 기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬고급 정렬 알고리즘 O(n*logn)1.병합정렬2.퀵정렬3.힙정렬특수 정렬 알고리즘 O(n)1.계수정렬2.기수정렬 삽입정렬이란삽입 정렬(Insertion Sort)은 배열을 정렬하는 또 다른 기본적인 알고리즘입니다. 이 방법은 각 반복에서 하나의 원소를 적절한 위치에 '삽입'하는 방식으로 동작합니다. 삽입 정렬은 일반적으로 소규모 데이터셋에 대해서는 효율적이지만, 큰 데이터셋에 대해서는 그렇지 않습니다.삽입 정렬의 작동 방식은 다음과 같습니다: 1.배열의 두 번째 원소부터 시작하여 현재의 원소를 key 값으로 저장합니다. 2.key ..
2024.01.02 -
[알고리즘] 정렬-버블정렬(bubble sort)
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로) 기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬고급 정렬 알고리즘 O(n*logn)1.병합정렬2.퀵정렬3.힙정렬특수 정렬 알고리즘 O(n)1.계수정렬2.기수정렬 버블정렬이란기본 정렬 알고리즘 중 하나인 버블정렬에 대해 알아보겠습니다.버블 정렬(Bubble Sort)은 가장 간단하고 직관적인 정렬 알고리즘 중 하나입니다. 이 알고리즘은 리스트를 반복하면서 인접한 두 원소를 비교하고, 필요에 따라 위치를 바꿔가며 정렬을 수행합니다. 버블 정렬의 이름은 더 큰 값의 원소가 리스트의 끝으로 '거품(bubble)'처럼 서서히 올라가는 모습에서 유래했습니다.버블 정렬의 기본적인 작동 방식은 ..
2024.01.02 -
[알고리즘] 정렬-선택정렬(selection sort)
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬 고급 정렬 알고리즘 O(n*logn) 1.병합정렬2.퀵정렬3.힙정렬 특수 정렬 알고리즘 O(n) 1.계수정렬2.기수정렬 선택정렬이란기본 정렬 알고리즘 중 하나인 선택정렬에 대해 알아보겠습니다.선택 정렬(selection sort)은 구현이 간단하고 O(n^2)의 시간복잡도를 가지는 정렬 알고리즘 중 하나입니다. 이 알고리즘의 기본 아이디어는 아직 정렬되지 않은 부분에서 가장 작은 (또는 가장 큰) 요소를 찾아서 정렬된 부분과 교환하는 것입니다. 이러한 과정을 반복하면서 전체 배열을 정렬합니다. 선택 정렬의 동작 방식은 다음과 같습니다:..
2024.01.01 -
[알고리즘] 정렬 알고리즘
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)다양한 정렬 알고리즘정렬 알고리즘은 데이터를 특정한 순서로 나열하는 알고리즘을 말합니다. 여러 가지 종류의 정렬 알고리즘이 있으며, 각각의 알고리즘은 그 성능과 효율성에 차이가 있습니다. 기본적인 정렬 알고리즘 O(n^2)선택 정렬(Selection Sort): 주어진 리스트 중에서 최소값을 찾고, 그 값을 맨 앞에 위치한 값과 바꾸는 방법입니다. 이 과정을 반복하여 정렬을 완성합니다.버블 정렬(Bubble Sort): 인접한 두 개의 원소를 비교하여 자리를 바꾸는 과정을 반복하여 모든 원소를 순서에 맞게 만드는 방법입니다.삽입 정렬(Insertion Sort): 각 숫자를 적절한 위치에 삽입하는 방..
2023.12.31 -
[알고리즘] 알고리즘의 점근적 표기
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로) 알고리즘의 점근적 표기란알고리즘의 점근적 표기는 알고리즘의 효율성을 표현하는 데 사용되는 수학적 표기법입니다. 이는 알고리즘의 시간 복잡도와 공간 복잡도를 평가하는 데 사용되며, 특히 입력의 크기가 커질 때 알고리즘의 동작을 설명하는 데 유용합니다 점근적 표기법은 일반적으로 5가지가 있습니다. 1. 빅 오(Big O)2. 빅 오메가(Big Ω)3. 빅 세타(Big Θ)4. 리틀 오(Little o)5.리틀 오메가(Little ω) 1. 빅 오(Big O)주어진 함수 f(n)이 O(g(n))이라고 할 때, 양의 상수 c와 n0이 존재하여 모든 n > n0에 대해 |f(n)| . 2. 빅 오메가(Big..
2023.12.30