
알고리즘이란 무엇일까요. 알고리즘의 개념과 설계 기법, 버블정렬의 원리와 수행 시간, 장단점과 알고리즘을 배우는 이유를 정리한 컴퓨터 보고서예요.
먼저 유한성을 가진 단계적 절차로서 알고리즘의 뜻과 구조를 살펴봐요.
다음으로 자판기 예처럼 일상의 절차를 알고리즘으로 보는 관점을 풀어요.
이어서 인접한 원소를 비교하는 버블정렬의 동작과 예제를 설명해요.
마지막은 비교 횟수와 수행 시간, 장단점이에요. 개념과 사례가 어떤 순서로 이어지는지 먼저 훑어보면 뒤의 설명이 훨씬 쉬워져요. 단계 이름만 외우기보다 각 항목이 왜 필요한지 함께 살펴보세요.
요약과 비교표, 용어 카드, 질문으로 핵심을 점검해 보세요. 처음 읽는 분도 흐름을 따라가기 쉽도록 핵심만 추려 정리했어요. 필요한 부분만 골라 읽어도 이해에 문제가 없어요. 문단마다 핵심 개념이 어떻게 이어지는지 차례대로 따라가 보면 전체 구성이 한눈에 들어와요. 복습할 때도 도움이 돼요.
일고리즘은 유한성을 가지며, 언젠가는 끝이 나야 한다는 속성을 가지고 있다.
알고리즘은 연산과 데이터 진행 혹은 자동화된 추론을 수행한다.
이러한 알고리즘은 배열과 연결리스트, 큐와 스텍으로 이루어진 선형구조와 트리 및 그래프로 이루어진 비선형 구조가 있다.
알고리즘을 설계할 때는 주어진 문제와 조건 등이 상당히 다양하기 때문에 알고리즘의 일반적인 설계 방법론이라는 것은 존재하지 않다.
그렇지만 많은 부류의 문제에 적용시킬 수 있는 대표적인 설계 기법으로는 분할정복 방법과 욕심쟁이 방법, 동적 프로그래밍 방법 등이 있다.
인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환한다.
선택 정렬과 기본 개념이 유사하다는 특징이 있다.
버블 정렬을 하는 방식은 첫 번째 자료와 두 번째 자료를, 다시 두 번째 자료와 세 번째 자료를, 그리고 세 번째 자료와 네 번째를, … 이와 같은 방식으로 (마지막-1)번째 자료와 마지막 자료를 비교하면서 교환하는 방법으로 자료를 정렬한다.
1회전을 수행하고 나서는 가장 큰 자료가 맨 뒷쪽으로 이동하기 때문에 2회전에서는 맨 끝에 위치한 자료는 정렬에서 제외되며, 2회전을 수행하고 나서 끝에서 두 번째 자료까지는 정렬에서 빠지게 된다.
이렇게 정렬을 1회전 수행할 경우마다 정렬에서 제외되는 데이터가 하나씩 늘어나는 것이다.
2. 버블정렬 알고리즘 예제 버블 정렬은 O(n^2)이기 때문에 성능이 좋지 않다.
거기에 성능이 안 좋은 정렬 중에서도 가장 안 좋은 편에 속하는 정렬이라, 주로 알고리즘 교육용을 제외하고는 사용되지 않는다.
알고리즘이란 어떠한 문제를 풀어가기 위한 여러 동작들의 모임을 말한다.
서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다.
처음 두 수를 비교해서 순서대로 숫자를 서로 바꿔준다.
5와 7은 이미 정렬되어 있으니까 그대로 놔둔다.
끝까지 정렬을 했으면 다시 처음부터 비교한다.
수학과 컴퓨터 및 과학 분야에서 알고리즘이란 작동이 이루어지도록 하는 내재하는 단계적 집합이기도 하다.
5,6은 넘어가고 6,3 순서를 바꿔준다.
7과 4는 서로 바꿔준다.
| 항목 | 내용 |
|---|---|
| 비교 횟수 | 총합 N(N-1)/2 |
| 교환 횟수 | 평균 N(N-1)/4 |
| 수행 시간 | O(N^2), 성능이 낮은 정렬에 속함 |
| 장점 | 알고리즘이 간단하고 플래그를 쓰면 효율 개선 가능 |
| 단점 | 정렬된 자료도 최소 1회전 필요, 멀리 떨어진 원소가 많을수록 비효율 |
알고리즘은 문제 해결 절차를 논리적으로 나타낸 것이며 버블정렬은 단순하지만 비효율적이어서 교육용으로 이해하기에 적합하다고 정리한다.
환불규정