버블 정렬(Bubble Sort)
1. 버블 정렬이란? 버블 정렬은 인접한 두 데이터를 비교해서앞에 있는 데이터가 뒤에 있는 데이터보다 크면, 두 데이터의 자리를 바꿔서 정렬하는 방식! [5, 6, 3, 10, 7] 이라는 배열이 있을 때를 가정. 1. 5와 6 비교 (뒤에 있는 데이터가 크니까 자리 변경 없음)2. 6과 3 비교 (두 데이터 자리 교환) 이렇게 스캔을 하다보면 끝까지 정렬을 했을 때[5, 3, 6, 7, 10]이 1차적으로 나오게 됨. ???정렬이 안됐는데? 맞음. 모두 정렬이 될 때 까지 똑같은 행위를 반복함 ㅎㅎ여기서 2차 시작을 하게되면 처음 5와 3만 바꾸면 정렬이 완료![3, 5, 6, 7, 10] 이렇게 반복을 했을 때 정렬이 완료되면 끝! 2. 코드로 구현1. 배열 요소의 갯수 - 1 만큼 반복하면 스캔 작..
2025. 6. 28.
이진 탐색(Binary Search)
1. 이진 탐색이란? 탐색할 자료를 둘로 나누고, 원하는 데이터를 탐색하는 알고리즘으로탐색할 자료가 정렬이 되어 있을 때 사용이 가능함! [2, 5, 9, 10, 11, 15, 20, 21]의 정렬된 배열이 있을때,가운데를 기준으로 반으로 나눔! [2, 5, 9, 10] [11, 15, 20, 21]여기서 가운데는 배열의 갯수를 2로 나누었을 때의 index8 / 2 = 4 index 4 = 11 이므로여기서 타겟이 21이라고 하면, 11보다 크기 때문에다시 위와 같은 작업을 반복! [11, 15] [20, 21]index = 2가운데 값은 20이 나오고 타겟(21)이 더 크니까 또 반복하면 되는데,남은 데이터가 1개밖에 없으니 남은 데이터와 타겟값을 비교해서 return 하면 된다.! 2. 코드로 구..
2025. 6. 23.