본문 바로가기

개발/알고리즘9

[알고리즘] 버블정렬(Bubble Sort) 버블정렬(Bubble Sort) 이란? 매번 연속된 두개의 인덱스를 비교하여 정한 기준의 값을 뒤로 넘겨 정렬하는 알고리즘입니다. 오름차순으로 정렬하고자 할 경우, 비교시마다 큰 값이 뒤로 해당 값이 뒤로 이동하여 한바퀴 돌 고 난 후 가장 큰 값이 가장 마지막 위치에 있게 됩니다. 버블정렬(Bubble Sort) 동작 방식 첫 번째 인덱스부터 시작하며 첫 번째 인덱스와 두 번째 인덱스의 값을 비교하여 첫 번째 인덱스가 더 크다면 위치를 변경합니다. 두 번째 인덱스와 세 번째 인덱스의 값을 비교하여 두 번째 인덱스가 더 크다면 위치를 변경합니다. 세 번째 인덱스와 네 번째 인덱스의 값을 비교하여 세 번째 인덱스가 더 크다면 위치를 변경합니다. . . . n-1. n-1 번째 인덱스와 n 번째 인덱스의 값.. 2022. 12. 30.
[알고리즘] 삽입 정렬(Insertion Sort) 삽입 정렬(Insertion Sort)란? 현재 위치의 값과 나머지 값들과 비교하여 알맞은 자리를 찾는 알고리즘입니다. 삽입 정렬 동작 방식 삽입 정렬은 현재 인덱스와 이전의 인덱스들과 비교를 하여 현재 인덱스 값 {1, 5, 30, 9, 7} 세 번째 인덱스의 값인 30.. 2022. 12. 30.
[알고리즘] 선택정렬(Selection Sort) 선택 정렬(Selection Sort)란? 현재 위치에 들어갈 값을 찾아 정렬합니다. 현재 위치의 크기에 따라 최소 선택 정렬, 최대 선택 정렬로 구분할 수 있습니다. 최소 정렬은 오름차순, 최대 선택 정렬은 내림차순으로 정렬됩니다. 선택 정렬 동작 방식(최소 선택 정렬) 정렬하려는 값의 크기를 n이라고 합니다. 가장 처음 값 부터 마지막 값까지의 값 중 가장 작은 값을 찾아서 첫번째 값과 가장 작은 값이 있던 값과 위치를 변경합니다. 두번째 값 부터 마지막 값까지의 값 중 가장 작은 값을 찾아서 두번째 값과 가장 작은 값이 있던 값과 위치를 변경합니다. 세번째 값 부터 마지막 값까지의 값 중 가장 작은 값을 찾아서 세번째 값과 가장 작은 값이 있던 값과 위치를 변경합니다. . . . n-1. n-1 번.. 2022. 12. 30.
[알고리즘] 이진 탐색(Binary Search) 이진 탐색(Binary Search)란? 이진 탐색이란 데이터가 반드시 정렬되어 있는 상태에서 특정한 값을 찾아내는 알고리즘입니다. 이진 탐색 동작 원리 정렬된 배열에서 x값을 찾고자 할 때 정렬된 배열의 중간값과 x를 비교하고 일치한다면 해당 인덱스 값을 반환하고 일치하지 않다면 2번과정으로 넘어갑니다. 중간값과 같으면 해당 값을 반환합니다. 중간값보다 작으면 중간값의 왼쪽에 나열된 값들을 비교합니다. 중간값보다 크다면 중간값의 오른쪽에 나열된 값들을 비교합니다. 2 ~ 3번 과정을 반복합니다. 비교할 값이 더이상 없다면 -1을 반환합니다. ex) {1, 5, 7, 13, 15, 23}으로 정렬된 배열이 있을 때 15라는 값을 찾고자 하는 경우 인덱스가 0 ~ 5인 정렬된 배열이므로 중간값은 (0 + .. 2022. 12. 30.