본문 바로가기

전체 글2

[알고리즘] 버블 정렬(Bubble Sort) 버블 정렬(Bubble Sort)버블 정렬 알고리즘은 가장 기초적인 정렬 알고리즘이다.핵심 아이디어는 “인접한 두 원소를 비교해서 큰 값을 뒤로 보내는 방식”이다.한 번 순회를 수행하면 가장 큰 값이 배열의 끝으로 이동하는 것이 마치 물 속의 거품(bubble)이 위로 떠오르는 것 같아서 Bubble Sort라는 이름이 붙었다. 1회전[17, 3, 29, 6, 10] : (17, 3) 비교 → 17 > 3이므로 교환[3, 17, 29, 6, 10] : (17, 29) 비교 → 교환 없음[3, 17, 29, 6, 10] : (29, 6) 비교 → 29 > 6이므로 교환[3, 17, 6, 29, 10] : (29, 10) 비교 → 29 > 10이므로 교환가장 큰 값인 29가 맨 뒤로 이동한다.2회전[3, 1.. 2026. 5. 7.
[알고리즘] 이진 탐색(Binary Search) 이진 탐색(Binary Search)이진 탐색은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다.이진탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있다.변수 3개(start, end, mid)를 사용하여 탐색한다. 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾는 과정을 거친다.배열의 중간에 있는 임의의 값을 선택하고, 이를 찾고자 하는 값과 비교한다. 찾고자 하는 값이 중간 값보다 작으면 중간 값을 기준으로 좌측의 데이터들을 대상으로 다시 탐색하고, 중간 값보다 크면 중간 값을 기준으로 우측의 데이터들을 대상으로 다시 탐색한다. 해당 값을 찾을 때까지 동일한 방법으로 반복 수행한다. Python을 이용하여 이진 탐색 구현하.. 2024. 3. 20.