알고리즘/정렬 알고리즘
C와 JAVA로 선택 정렬(selection sort) 구현하기
주어진 리스트 중에 최소값을 찾음 그 값을 맨 앞에 위치한 값과 교체함 (제일 작은 값이 맨 앞에 위치하게 됨) 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체함 하나의 원소만 남을 때까지 1 ~ 3을 반복함 쉽게 말하자면 리스트의 모든 값들을 비교해서 가장 작은 값을 찾아 리스트의 맨 첫번째에 놓고 (첫번째 과정) 두번째로 작은 값을 찾아 리스트의 두번째 자리에 놓는다(두번째 과정) 이런식으로 리스트의 길이만큼 과정을 거친다. 비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 정렬하는 데에는 최대 (n * n) 만큼의 시간이 걸린다. 리스트의 전부를 비교하니 당연하다. C로 짠 코드 #include int main(int argc, char *argv[]){ int li..
2022. 3. 28. 23:03
최근댓글