본문 바로가기

2학년/알고리즘

(2)
[알고리즘] 정렬 알고리즘(2) 선택 정렬 제일 큰 값을 찾아 맨 뒤의 요소와 교체하는 방법을 반복하여 전체를 정렬하는 알고리즘이다. 시간 복잡도는 최선/최악 모두 O(n^2)이다. 삽입 정렬 점진적으로 정렬 범위를 넓혀 나가는 방식으로 정렬하는 알고리즘이다. 새로운 범위에 포함되는 마지막 원소보다 앞을 탐색하며 자신보다 작은 요소를 찾을 때까지 이동하면서 자리를 교환한다. 시간복잡도는 최선으로는 O(n) , 최악으로는 O(n^2)이다. 쉘 정렬 삽입 정렬 알고리즘을 이용하는 정렬 방식으로, 같은 간격에 있는 원소들을 삽입 정렬 원리로 정렬하는 것을 반복한다. 간격의 초기 값을 1/2 씩 줄이며 반복한다. 퀵 정렬 재귀적인 방법으로 문제를 해결하는 알고리즘으로, 피벗 값을 선택하여 피벗 값보다 작은 값들은 왼쪽으로 보내고 큰 값들은 오..
[알고리즘] 정렬 정렬 1.내부 정렬 정렬한 자료를 주기억장치에 저장한 상태에서 저장 1.1. 정렬 방식 1)교환방식: 버블정렬, 퀵정렬 2)삽입방식: 삽입정렬, 셀정렬 3)병합방식: 2-way병합, n-way병합 4)분배방식: 기수정렬 (키를 구성하는 값을 여러 개의 부분집합에 분배하여 정렬하는 방식) 5)선택방식:선택정렬,힙정렬 2.외부 정렬 외부 기억장치(하드 디스크)에 대부분의 데이터가 있고, 그 중 일부만 주기억 장치에 저장된 상태에서 정렬 3. 정렬 알고리즘 정렬 알고리즘은 배열의 원소를 원한느 순으로 배치하는 알고리즘을 의미한다. 입력 인자로 정렬할 자료들이 있는 배열의 시작주소, 원소개수, 비교 알고리즘이 필요하며 수행 후에는 배열 내의 자료들이 원하는 순서로 배치된 상태여야 한다. 모든 경우에 대해서 최적..