Computer Science/Algorithm (16) 썸네일형 리스트형 Ⅳ 정렬 보호되어 있는 글입니다. Ⅲ 배열 보호되어 있는 글입니다. Ⅱ 알고리즘 분석 보호되어 있는 글입니다. Ⅴ 알고리즘 기법 보호되어 있는 글입니다. Ⅳ 그래프 알고리즘 보호되어 있는 글입니다. Ⅲ 정렬 알고리즘 Ⅲ 정렬 알고리즘 1. 기본 정렬 - 선택/버블/삽입 2. 고급 정렬 - 병합/퀵&분할/힙 3. 비교 정렬 시간의 하한 - 1~2 정렬 특징 4. 특수 정렬 알고리즘 - 기수/계수/요약 1. 기본 정렬 - 선택/버블/삽입 정렬은 n개의 원소를 순서대로 배열하는 것이다. 정렬은 그 자체로도 자주 사용되지만 알고리즘의 설계와 분석, 생각하는 방법 등을 훈련하기에도 더없이 적합한 주제다. 알고리즘 분야의 여러 기술이 상당 부분 정렬에 포함되어 있어 정렬을 잘 이해하면 다른 주제를 이해하는 데 큰 도움이 된다. ① 선택 정렬 선택 정렬(Selection Sort)은 원리가 간단한 정렬 알고리즘 중 하나다. 우선 배열 A[1 ... n ]에서 가장 큰 원소를 찾아 이 원소와 배열의 끝자리에 있는 A[n]과 자리를.. Ⅱ 탐색 알고리즘 Ⅱ 탐색 알고리즘 1. 탐색 알고리즘 - 순차 탐색/이진 탐색 ① 순차 탐색 순차탐색(Sequential Search)은 선형 탐색(Linear Search)라고도 하는데 주어진 데이터 집합에서 원하는 데이터를 처음부터 순차적으로 비교하며 찾는 방법이다. 원하는 데이터를 순서대로 하나씩 확인해 나가는 매우 간단한 탐색 방법으로, 정렬 여부와 상관없이 가장 앞에 있는 원소부터 확인한다. 데이터의 개수가 n개일 때, 최대 n번의 연산이 필요하므로 최악의 경우 시간 복잡도는 O(n)이 된다. Code #include // 순차 탐색 함수 int sequentialSearch(int A[], int n, int x) { for (int i = 0; i Ⅰ 알고리즘 기초 Ⅰ 알고리즘 기초, 분석, 빅오 표기법 0. 알고리즘은 왜 배우는 것일까? 유명한 알고리즘 저서 『The Art of Computer Programming』 저자 도널드 크누스 (1974년 컴퓨터 분야 노벨상 튜링상 수상) 는 본래 음악가가 꿈이었지만 컴퓨터 과학자가 되는 과정을 밟으면서 그는 자신의 집에 직접 설계한 초대형 파이프 오르간을 설치하기도 하였다. 그는 음악과 수학 사이에는 패턴이라는 공통점이 존재한다고 주장한다. "수학은 패턴의 과학이다. 음악도 다름 아닌 패턴들이다. 컴퓨터 과학은 추상화와 패턴의 형성에 깊은 관련이 있다. 다른 분야와 비교하여 컴퓨터 과학은 지속적으로 차원이 급상승한다는 특징이 있다. 이는 지적 추상화의 레벨이 높아지는 과정으로, 알고리즘을 제대로 공부할 경우 가장 얻게.. 이전 1 2 다음