정렬 2

[컴퓨터과학개론] 알고리즘

알고리즘 개념 주어진 문제를 풀기 위한 명령어들을 단계적으로 나열한 것 입출력: 0개 이상의 외부 입력, 1개 이상의 출력 명확성: 각 명령은 모호하지 않고 단순 명확해야 함 유한성: 한정된 수의 단계를 거친 후에는 반드시 종료해야 함 유효성: 모든 명령은 컴퓨터에서 실행 가능해야 함 효율성 → 주어진 문제에 대한 결과를 생성하기 위해 모호하지 않고 간단하며 컴퓨터가 수행 가능한 일련의 유한개의 명령들을 순서적으로 구성한 것 알고리즘 생성 단계 설계 표현/기술 정확성 검증 효율성 분석 자료구조와 알고리즘의 관계 자료구조: 데이터 사이의 논리적 관계를 표현하고 조직화 하는 방법 효율적인 프로그램을 위해 자료구조와 알고리즘을 고려해야함 알고리즘 설계 문제와 그에 따른 조건 등이 매우 다양 → 일반적이고 범용..

CS 2023.11.30

알고리즘 - 정렬

정렬 정렬은 요소들을 일정한 순서대로 열거하는 알고리즘입니다. 정렬 기준은 사용자가 정할 수 있으며, 크게 비교식과 분산식 정렬로 나눌 수 있습니다. 대부분의 언어가 빌트인으로 제공해주며, 삽입, 선택, 버블, 머지, 힙, 퀵 정렬 등 다양한 정렬 방식이 존재합니다. 상황에 따라서 적합한 정렬 방식이 있기 때문에 절대적으로 빠르다라고 말할 수 있는 정렬 방식은 없습니다. 비교식 정렬 버블 정렬: 서로 인접한 두 요소를 검사하여 정렬하는 알고리즘입니다. O(n^2)를 가집니다. 선택 정렬: 선택한 요소와 가장 우선순위가 높은 요소를 교환하는 정렬 알고리즘입니다. O(n^2)를 가집니다. 삽입 정렬: 선택한 요소를 삽입 할 수 있는 위치를 찾아 삽입하는 방식의 정렬 알고리즘입니다. O(n^2)를 가집니다. ..