자료구조(9)
-
[알고리즘] 정렬-버블정렬(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 -
[알고리즘] 알고리즘의 점근적 표기
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로) 알고리즘의 점근적 표기란알고리즘의 점근적 표기는 알고리즘의 효율성을 표현하는 데 사용되는 수학적 표기법입니다. 이는 알고리즘의 시간 복잡도와 공간 복잡도를 평가하는 데 사용되며, 특히 입력의 크기가 커질 때 알고리즘의 동작을 설명하는 데 유용합니다 점근적 표기법은 일반적으로 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