프로그래밍66 수학적 귀납법, 재귀 수학적 귀납법 - 모든 자연수 n에 대해 어떤 명제가 참임을 증명할 때 사용하는 것이다. 모순에 의한 증명과 더불어 가장 어려운 증명방법이다. 연역법의 한 종류이다. 재귀함수 설계에 도움을 줄 수 있다. 재귀 - 한 함수에서 자기 자신을 다시 호출해 작업을 수행하는 것이다. 동일한 문제를 조금 더 작은 단위로 해결함으로써 그 문제를 해결한다. 다중 분기 재귀 - 문제의 일부만 방문하는 것만으로 원하는 결과를 찾을 수 있다. 분할 정복 알고리즘의 영역이다. 분할 정복 - 문제의 영역을 여러 부분으로 나눈 뒤 한 부분씩 문제를 해결해 나가는 걸 반복한다. 시간 복잡도 - O(n) 이진 탐색 - 정렬되어 있는 데이터 집단에서 어떤 값을 찾을 때 유용한 알고리즘이다. 절반의 영역만 재귀적으로 탐색하면 답을 찾을.. 2023. 1. 15. Static, 디자인 패턴, 내포 클래스 static - 변수와 메서드를 만들 때 사용할 수 있다. 정적 멤버, 클래스 멤버라고도 하는데 개체(인스턴스) 소속이 아닌 클래스 소속이 된다. 전역 변수처럼 사용할 수도 있다. 생성자가 없어도 사용이 가능하다. 그 이유는 개체가 만들어진 개수와는 상관없이 클래스는 하나만 존재하기 때문에 자신에게 해당 메서드가 없으면 클래스로 가서 확인할 수 있기 때문이다. 생성자를 만들고 개체를 만들어서 사용할 수 있다. 생성자를 private으로 두면 개체를 못 만들게 할 수도 있다. 정적 메서드에서 비정적 메서드에는 접근이 불가능하다. 비정적 메서드에서 정적 메서드는 접근할 수 있다. 클래스에 속한 메서드가 개체에 속한 멤버(함수/변수)에는 접근이 불가능하다. 클래스 내부에 있기 때문에 접근 범위를 제어할 수 있.. 2023. 1. 13. 비트마스킹 a xor a = 모든 비트를 0으로 만든다. xor 3번하면 a, b 변수를 서로 바꿀 수 있다. a = a^b b = a^b a = a^b 2진수가 짝수인지 홀수인지 확인하려면 맨 마지막 비트(2^0 = 1) 이 1인지 확인하면 알 수 있다. 0이면 짝수, 1이면 홀수이다. 나머지 비트는 모두 짝수이다. 마스크 - 비트 필드에 대한 비트 연산을 할 때 사용하는 데이터이다. 비트 마스킹 - 마스크를 이용해서 특정 비트 값을 뽑아오거나 반전시키는 행위이다. 비트 마스킹을 통해 양수와 음수(0x80000000), 짝수와 홀수(0x1)를 확인할 수 있다. 비트 플래그 - 비트 필드가 여러개 모인 것을 의미한다. 1바이트의 경우 8개 상태를 저장할 수 있다. 각각 하나의 불리언처럼 사용한다. 적은 수의 비트로.. 2023. 1. 13. 과학적 사고 방식 과학적 사고 방법(Scientific Reasoning) - 'why'에서 출발해 결론을 도출해 내는 방법이다. 확률과 비율을 사용한다. 가설-연역법이라고도 한다. 과학적 연구의 신뢰도를 확보하는 논리적인 사고체계이다. 현존하는 방법 중 최고의 객관성을 보장하므로 신뢰도 확보가 가능하다. 귀납법(Inductive Reasoning) - 관찰을 통해 확인한 현상들로부터 보편적인 결론을 도출하는 추론 방법이다. 연역법(Deductive Reasoning) - 하나 이상의 전제에서 논리적으로 특정 결론에 도달하는 추론 방법이다. 논리(Logic) - 올바른 판단에 기반한 합리적인 사고 방식이다. 명제(Proposition) - 참 또는 거짓을 판별할 수 있는 말이다. 공리(Axiom) - 항상 참이라고 믿는 .. 2023. 1. 11. 이전 1 2 3 4 5 6 7 ··· 17 다음