전체 글
-
[Algorithm] 완전탐색 (Brute-Force Search ) 알고리즘알고리즘 & 자료구조/알고리즘 2021. 6. 20. 22:04
완전 탐색이란? 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법 '무식하게 푼다'라는 의미로 Brute-Force 라고 하기도 한다. 완전 탐색 기법 완전 탐색 방법을 이용하기 위해서 여러가지 알고리즘 기법이 이용된다. -단순 Brute-Force -비트마스크(Bitmask) -재귀 함수 -순열 (permutation) -BFS / DFS (너비 우선 탐색 / 깊이 우선 탐색) 1. 단순 Brute-Force 단순히 for문과 if문 등으로 모든 case들을 만들어 답을 구하는 방법 2. 비트마스크 2진수를 이용하는 컴퓨터의 연산을 이용하는 방식 3.재귀 함수 재귀 함수를 통해서 문제를 만족하는 경우들을 만들어가는 방식 4.순열 서로 다른 N개를 일렬로 나열하는 순열의 경우의 수는 N 이므로 완전 ..
-
메소드(함수) 호출 방식 Call by Value & Call by ReferenceJAVA 2021. 6. 18. 17:45
Call by value Class CallByValue{ public static void swap(int x, int y){ int temp = x; x = y; y = temp; } } public static void main(String[] args){ int a = 1; int b = 2; System.out.println("swap() 호출전: a= " +a+ ", b = " + b); // a = 1, b = 2 swap(a,b); System.out.println("swap() 호출 후 : a = " + a + ",b = " + b); //a = 1, b = 2 } 출력결과 값이 바뀌지 않았다. 왜그럴까? main()에서 선언된 각각의 변수 a, b는 메모리의 0x0001 ,0x0005 ..
-
[C++] 스택 & 큐 (라이브러리 사용하기)C \ C++ 2021. 6. 17. 19:21
스택 (Stack) LIFO(Last in First Out) 1 2 3 4 5 순서로 집어넣었을때 5 4 3 2 1 순서로 꺼내지게 됨 #include 을 이용하여 라이브러리를 사용할 수 있다. #include #include using namespace std; int main(void) { stack tmp; //int 형 스택 선언 tmp.push(1); //스택에 1 넣음 tmp.push(2); tmp.push(3); tmp.push(4); tmp.pop(); //가장 마지막에 넣은 요소 꺼내기 //출력 while(!tmp.empty()) { cout