본문 바로가기
반응형

SWE326

머신러닝의 기초가 되는 Clustering 알고리즘 (군집 알고리즘) Clustering 의 문제 정의, 문제 해결방향? 은 pdf에 설명되어있다. ( 우리 학과 전교수님 출처 ) Clustering 이란 데이터를 분류하는 방법이다. Clustering 구현 방법 방법 1. 임의의 점 하나(x1)를 첫 번째 cluster head로 지정하고, x1과의 거리가 가장 먼 것(x2)을 두 번째 cluster head, x1, x2와 거리가 가장 먼 것(x3)을 세 번째 cluster head로 지정한다. ...(반복) 그리고 cluster head를 제외한 나머지 점들은 cluster head들과 거리를 비교하며 가장 가까운 cluster head에 속하는 그룹이 된다. (cluster head란 그룹의 대표임.) -수도코드 (첫 번째 cluster head외의 나머지 clus.. 2018. 12. 11.
Knapsack Problem ( 배낭 알고리즘) 최종 요약 Knapsack Problem ( 배낭 알고리즘 ) 의 3가지 종류 각 차이점 문제 풀이법 -> 수도코드 2018. 12. 10.
[성실코딩 32일차] 백준 #11047 동전 0 / 그리디 ** 기말고사 준비로 Knapsack 문제만 풀고 싶었는데,,, 이건 그리드알고리즘을 이용해서 푸는 문제라고 한다. 그 이유가 되는 단서는 문제에서,(1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 이러한 조건을 줬기때문에 그리디 알고리즘을 이용해서 푼다고 한다. 막 나누고 어떻게 하던데,, 기말 끝나고 시도해봐야겠다. 나는 Knapsack으로 풀어서 모두 메모리 초과가 났다 ㅠㅠ 1풀이법. 재귀적으로 #include #include // malloc #include // memset #define INF 987654321 int n, k; // 동전의 개수n, 금액k int coins[11]; .. 2018. 12. 10.
[성실코딩 32일차] 백준 #2294 동전 2 / Knapsack 기말고사 준비로 Knapsack Problem 문제만 골라서 풀고 있다. 이 문제는 Unbounded Knapsack Problem으로 분류할 수 있고 내가 냅색을 공부할 때 예제로 봤던 문제와의 차이점은 배낭 안의 물건들의 무게의 합이 배낭이 최대 수용할 수 있는 무게와 같지 않으면 불가능으로 처리하고 -1을 반환해야하는 것이다 따라서 '배낭 안의 물건들의 무게의 합 == 배낭의 무게' 를 확인하기 위하여 findMaximumValue 함수에서 if( products[i].weight // malloc #include // memset #define INF 987654321 int n, k; // 동전의 개수n, 금액k int coins[101]; int DP[10001] = {.. 2018. 12. 10.
반응형