본문 바로가기

전체 글

(92)
[Data Structure 기초] Tree Tree(트리) - 노드와 링크로 구성된 자료구조(그래프의 일종, Cycle 없음.) - 하나의 노드에서 시작해서 다른 정점들을 순회하여 자기 자신에게 돌아오는 순환이 없는 연결그래프 - 계층적 구조를 나타낼 때 사용 - 폴더 구조 (디렉토리, 서브 디렉토리) , 조직도, 가계도 등 - 다른 노드로 이동하는 경로는 유일 - 노드가 N개인 트리의 Edge의 수는 N-1개 - Acyclic - 모든 노드는 서로 연결 되어있음 - 하나의 Edge를 끊으면 2개의 Sub-Tree로 분리됨 트리구조 용어 특징 노드( Node ) 트리 구조의 자료 값을 담고 있는 단위 엣지 ( Edge ) 노드 간의 연결선 ( = link, branch ) 루트 노드 ( Root ) 부모가 없는 노드, 가장 위의 노드 잎새 노드 ..
[기초 수학] 조합 조합 (Combination) 서로 다른 n개 중에서 r개를 뽑아서 선택하는 경우의 수 ( 순서 정렬 및 중복 불가 ) - 예시 ) 서로 다른 4명 중 주번 2명을 뽑는 방법 중복 조합 서로 다른 n개 중에서 r개를 선택하는 경우의 수 ( 순서 정렬은 불가능하나 중복 허용 가능) - 예시 ) 후보 2명, 유권자 3명일 때 무기명 투표 방법 // 기초 수학 - 조합 public class mathPractice05 { static int getCombination(int n , int r){ int pResult = 1; for (int i = n; i >= n - r + 1; i--) { pResult *= i; } int rResult = 1; for (int i = 1; i = n - r + 1; i..
[기초 수학] 약수 , 최대 공약수, 최소 공배수 import java.util.ArrayList; // 기초 수학 - 약수 구하기, 두 수의 최대공약수와 최소공배수 구하기 // 활용) 1 ~ 10 사이의 수 중 A의 약수 또는 B의 약수인 경우의 수 // 활용) 1 ~ 10 사이의 수 중 A의 약수이면서 B의 약수인 경우의 수 public class mathPractice01 { //약수 public ArrayList getDivisor(int num){ ArrayList result = new ArrayList(); for (int i = 1; i gcd){ //gcd 값보다 큰 수일 때 gcd = itemA; // 값을 대입 } } } } return gcd; } //최소 공배수 (LCM : the Lowest Common Multiple) pub..