728x90
반응형

CS/알고리즘 2

Select Sort 선택정렬

선택 정렬 (Select Sort) 선택 정렬은 현재 위치에 들어갈 데이터를 찾아 선택하는 알고리즘이다. 오름차순을 기준으로 정렬한다. 개념 제자리 정렬의 알고리즘 중 하나이다. 정렬 되지 않은 입력된 배열 외에 다른 메모리를 사용하지 않는다. 해당하는 n번째에 넣을 정렬된 원소 자리는 이미 정해져있고, 어떤 값을 넣을지를 선택하는 알고리즘이다. 동작 과정 주어진 배열에서 최솟값을 찾는다. 그 최솟값을 배열의 맨 앞의 수와 자리를 교체해준다. 맨 처음 값을 뺀 나머지 배열로부터 최솟값을 찾는다. 교체한 다음 맨 앞의 배열과 값을 바꿔준다. 이 과정을 정렬이 완료될 때까지 계속 반복한다. 보기 좋은 예시 이미지를 가져와봤다. 이제 그러면 구현을 해보도록 하자. Select Sort 구현 n 길이를 가진 배..

CS/알고리즘 2022.08.10

에라토스테네스의 체

기본 알고리즘부터 풀어보는데에 있어서 이 소수를 구하는것에 상당히 애를 먹는다. 물론 소수 뿐만이 아니라 다른 유형의 문제들도 결국 머릿속에선 정리가 매우 잘되지만, 이걸 코드로 구현하는게 쉽지가 않다. 아무튼 각설하고, 소수를 판별하는 알고리즘에 대해 알아보도록 하자. 소수 소수는, 1보다는 큰 자연수들 중 1과 자기 자신만을 약수로 가지고 있는 수를 의미한다. 위키피디아의 이미지를 가져와보았다. 순서는 2부터 소수를 구하고자 하는 목표값 까지의 모든 수를 나열한다. 그다음 2는 소수기에 Prime Numbers에 2를 넣어준다. 그 다음 자기 자신을 제외한 2의 배수를 다 지운다. 지우는 이유? 자기 인수의 배수를 다 지우는 이유는 그 수들은 이미 배수라서 약수에 인수가 포함되기 때문이다. 이 구간을..

CS/알고리즘 2022.08.09
728x90
반응형