본문 바로가기

Algorithm/JongMan

(3)
[알고리즘 문제해결 전략] 6장 무식하게 풀기 6.1 도입 Brute - Force : 모든 경우를 나열해서 답을 찾는 방법 ex) 두 점 사이의 최단 경로 1차원 좌표 -7, -3. 1, 9 이 존재 할 때 가장 최단거리를 구해보자 (-7, -3), (-7, 1), (-7, 9), (-3, 1), (-3, 9), (1, 9) 총 6개의 케이스 나온다. 이렇게 모든 케이스를 나열하여서 답을 찾는 것을 완전탐색이라고 함 그리고 열명의 학생을 한줄로 세우려고 한다 서로 사이가 안좋은 학생이 존재하고 두 학생은 서로 붙여서 줄 세울수 없다 이 경우 가장 쉬운방법은 모든 학생들 줄 세우는 방법을 구하고 각 경우 사이가 안좋은 붙어 있는지 확인하여 빼주면 조건에 맞게 줄을 세울수 있는 방법을 구할 수 있다 6.2 재귀 호출과 완전 탐색 재귀호출 재귀함수란 자..
[알고리즘 문제해결 전략] 5장 알고리즘 정당성 증명 이 파트는 추후 다시 정리하여 공부가 필요하여 글쓰기 보류
[알고리즘 문제해결 전략] 4장 알고리즘의 시간 복잡도 분석 4.1 도입 반복문이 시간복잡도를 지배한다. 알고리즘 수행시간은 반복문이 수행되는 횟수로 측정한다. -> 이유 : 입력의 크기가 커짐에 따라 수행 시간도 상승 예제 1 ) 주어진 배열에서 가장 많이 등장하는 수를 찾기 (수행 시간 n^2) int majority1(const vector &A) { int n = A.size(); int majority = -1, majorityCount = 0; for(int i=0; i