본문 바로가기

정렬

Posts/Algorithm [누구나 자료구조 알고리즘] Python 삽입정렬 💡 Goal - 삽입정렬 알고리즘을 이해한다. - 삽입정렬 알고리즘을 파이썬으로 구현한다. - 삽입정렬 알고리즘 특징을 2가지 이상 말하기. 개념 데이터를 앞에서 하나씩 확인 후 특정 조건에 부합하는 위치(좌 or 우)에 삽입 왼쪽은 이미 정렬되어 있는 가정으로 접근 선택정렬에 비해 실행시간 측면으로 조금 효율적 처음 key값은 두번째(index 1)부터 시작 비교, 시프트(이동), 삽입등이 사용되는 알고리즘 순서(오름차순 기준) 1번 인덱스부터 시작하는 반복문을 만든다. 임시로 1번 인덱스값과 데이터를 가지고 ← 방향으로 반복 비교한다. 왼쪽은 이미 정렬되어 있다는 가정 왼쪽 값이 크다면 큰 값을 현재 position으로 변경해주고 position을 -1 해준다. (왼쪽 순회) 2,3단계가 끝나면 현재.. 2021. 12. 11. 20:43
Posts/Algorithm [누구나 자료구조 알고리즘] Python 선택정렬 💡 Goal - 선택정렬 알고리즘을 이해하기. - 선택정렬 알고리즘을 파이썬으로 구현하기. - 선택정렬 알고리즘 특징을 2가지 이상 말하기. 개념 가장 작은 값을 찾아 맨 왼쪽(앞) index로 위치 변경 0번 index, 1번 index 반복 매번 가장 작은 데이터를 선택하여 정렬 각 위치에 어떤 값이 들어갈지 찾는 정렬 비교와 교환으로 이루어진 알고리즘 순서(오름차순 기준) 주어진 데이터의 →(왼쪽에서 오른쪽) 방향으로 확인한다. 임시로 0번 인덱스를 최소값으로 지정한다. 한칸씩 오른쪽으로 이동하며 비교한다. 길이의 끝까지 돌면서 임시로 지정한 값보다 값이 더 작으면 해당 데이터의 index를 최소 index로 변경한다. 반복이 끝난 후 구해진 최소값 index를 가지고 임시로 지정한 변수와 swap.. 2021. 12. 11. 20:00