본문 바로가기

컴퓨터_사전지식

(2)
선택 정렬(Selection Sort) 알고리즘 개념과 예제 선택 정렬 선택 정렬은 정렬 알고리즘 중에 하나로 무작위로 배치된 데이터에서 최솟값을 선택해 최솟값이 있어야 할 인덱스로 데이터를 변경하는 정렬방식이다. 선택 정렬 알고리즘의 진행방식은 아래와 같다. (오름차순 기준) 무작위로 나열된 데이터에서 최솟값 X를 찾는다. X값 과 현재 데이터에서 첫번째에 있는 값의 위치를 변경한다. 첫번째 데이터를 제외하고 나머지 데이터에서 1번 과정부터 다시 시작. 선택 정렬 예시 아래와 같이 무작위로 배치된 데이터가 있다고 가정하자. 33 8 10 6 5 25 1 16 이 데이터에서 최솟값 X를 찾아야 하고, X는 1이 된다. 33 8 10 6 5 25 1 16 1을 현재 데이터의 첫번째에 해당하는 33과 자리 교체를 한다. 1 8 10 6 5 25 33 16 1은 자기 ..
이진 탐색(Binary Search) 알고리즘 개념과 예제 이진 탐색 이진 탐색은 오름차순으로 정렬되어있는 데이터에서 원하는 값(타겟 넘버)의 위치를 찾아내는 알고리즘이다. 여기서 이진(Binary)는 우리가 알고있는 그 이진 코드 (0101001...) 가 아니라 데이터를 반(2개)으로 나누어서 비교하고 찾는 방식이여서 이진 탐색이라고 한다. 이진 탐색의 알고리즘 진행방식은 아래와 같다. 정렬되어있는 데이터의 중간 값을 임의의 값 X로 정함 타겟 넘버의 값과 X를 비교 타겟 넘버의 값이 X보다 크다면, 타겟 넘버는 데이터에서 X보다 우측에 위치해 있으니 반으로 나눈 데이터의 우측에서 1번 과정부터 다시 시작 타겟 넘버의 값이 X보다 작다면, 타겟 넘버는 데이터에서 X보다 좌측에 위치해 있으니 반으로 나눈 데이터의 좌측에서 1번 과정부터 다시 시작 이진 탐색 예..