C++/알고리즘(10)
-
루트 불변성
루트 불변성: 알고리즘이 타당한 이유를 쉽게 이해할 수 있도록 하기 위해 사용된다. 초기조건 : 루프가 첫 번째 반복을 시작하기 전에 루프 불변성이 참이어야 한다. 유지조건 : 루프의 반복이 시작되기 전에 루프 불변성이 참이었다면 다음 반복이 시작되기 전까지도 계속 참이어야 한다. 종료조건: 루프가 종료될 때 그 불변식이 알고리즘의 타당성을 보이는데 도움이 될 유용한 특성을 가져야 한다.
2022.04.07 -
삽입 정렬 - 1
크기가 작은 정렬에 효율적인 삽입 정렬을 이용해 정렬 문제를 풀기위해 문제를 다음과 같이 정의한다. 정렬하고자 하는 숫자를 key라고 한다. 그리고 원소가 n개인 배열을 입력으로 준다. 아래는 그림으로 삽입 정렬을 표현 한 것이다. 입력은 1부터 6까지 임의으로 섞여 있는 배열 A = {5, 2, 4, 6, 1, 3}이다. 그림은 배열 A = {5, 2, 4, 6, 1, 3}이고 배열의 index는 각 0 1 2 3 4 5이다. 주황색 사각형은 key값이고, 오른쪽으로 비교하기 시작한다. (d)를 예시로 둔다면 2 4 5 6 1 3 1. 6과 비교 (1이 작음) 2. 5와 비교 (1이 작음) 3. 4와 비교 (1이 작음) 4. 2와 비교 (1이 작음) 그 후 해당하는 index에 key에 해당하는 값을 ..
2022.04.06 -
자료구조
자료구조란 자료를 편리하게 접근하고 변경하기 위해 자료를 저장하거나 조직하는 방법을 말한다. 모든 목적에 가장 맞는 단일자료구조는 없다.
2022.04.06 -
알고리즘
알고리즘이란. 어떤 값이나 값의 집합을 입력으로 받아 또 다른 값이나 값의 집합을 출력하는 잘 정의된 계산 절차이다. 어떤 입력을 어떤 출력으로 변환하는 일련의 계산과정이라고도 할 수 있다.
2022.04.06