분류 전체보기 278

그리디 : 그리디 알고리즘 이론과 문제

I. 그리디알고리즘 정의 그리디 알고리즘은 '현재 상태에서 볼 수있는 선택지' 중 '최선의 선택'을 하는 알고리즘이다 (전체 선택지 중 항상 최적해를 구하지 못하는것이 한계이다. 그래서 선택시 늘 유의해야한다 인공신경망 구성시 local minimum과 global minimum 차이에서 최적해 문제를 이해하기 수월 할 수있다 II. 그리디 이론 1. 들어가며 3단계를 반복하면서 해결한다 2. 수행과정 (1) 해선택 현재 상태에서 가장 최선이라고 생각하는 해를 선택한다 (부분의 best) (2) 적절성 검사 현재 선택한 해가 전체문제 '제약조건'에서 벗어나지 않는지 검사 (3) 해 검사 현재 선택한 해 집합이 '전체 문제 해결'할 수 있는지 검사한다. 전체문제를 해결할 수 없다면 처음으로 돌아가 반복한다..

탐색 : 이진탐색 이론과 문제

I. 탐색 탐색이란 '주어진 데이터'에서 '자신이 원하는 데이터'를 찾아내는 알고리즘이다. 탐색은 주어진 데이터의 성질(정렬, 비정렬 데이터)따라 탐색알고리즘을 채택하는것이 중요하다 탐색은 그래프를 탐색하기 때문에 선수공부로서 그래프 표현에 대해서 공부가 필요하다 II. 이진탐색 이론 1. 들어가며 (1) 정의 1) 이진탐색이란 데이터가 정렬되어 있는 상태에서 원하는 값을 찾아내는 알고리즘이다 데이터 정렬 -> 데이터의 중간값에서 찾고자 하는 값 비교 -> 데이터 크기 반으로 줄이기 2) 특징 타깃 데이터 탐색 3) 시간복잡도 O(log N) 의 시간복잡도를 가진다. 4) 응용문제 (2) 핵심이론 오름차순으로 정렬된 데이터를 이용한다. (내림차순이면 조건을 반대로 한다) N개의 데이터에 대해서 O(nog..

탐색 : BFS 이론과 문제

I. 탐색 탐색이란 '주어진 데이터'에서 '자신이 원하는 데이터'를 찾아내는 알고리즘이다. 탐색은 주어진 데이터의 성질(정렬, 비정렬 데이터)따라 탐색알고리즘을 채택하는것이 중요하다 탐색은 그래프를 탐색하기 때문에 선수공부로서 그래프 표현에 대해서 공부가 필요하다 II. 너비 우선 탐색(BFS : breadth - first serach) 이론 1. 들어가며 가장가까운 노드부터 우선하는 점이 BFS과 비교가 된다. (1) 정의 1) DFS란 그래프 완전탐색기법 중 하나이다. 그래프의 시작노드(a)에서 출발 -> 시작노드와 가까운 노드(b) 먼저 방문 -> 시작노드와 가까운 다른노드(c) 방문 -> b노드와 가까운 노드(d) 방문 -> 반복 이러한 연유로 목표노드에 도착하는 경로가 여러개일 때 '최단경로'..

탐색 : DFS 이론과 문제

I. 탐색 탐색이란 '주어진 데이터'에서 '자신이 원하는 데이터'를 찾아내는 알고리즘이다. 탐색은 주어진 데이터의 성질(정렬, 비정렬 데이터)따라 탐색알고리즘을 채택하는것이 중요하다 탐색은 그래프를 탐색하기 때문에 선수공부로서 그래프표현에 대해서 공부가 필요하다 II. 깊이 우선 탐색(DFS : depth-first serach) 이론 1. 들어가며 한쪽 분기를 지정해서 최대깊이까지 탐색하는것과 다른방식인 BFS과 비교가 된다. (1) 정의 1) DFS란 그래프 완전탐색기법 중 하나이다. 그래프의 시작노드에서 출발 -> 탐색할 한쪽 분기 지정 -> 해당 분기 최대 깊이까지 탐색, -> 탐색할 다른쪽 분기 지정 -> 해당 분기 최대 깊이까지 탐색 2) 특징 두가지 방식으로 구현이 가능하다 재귀함수(이경우 ..