2020-03-31 TIL
31 Mar 2020
|
TIL
Today I Learend
이산수학
- 증명 방법과 전략 단원의 진도를 나갔다.
- 전수 증명에 의한 증명 : 모든 가능한 경우를 보이는 증명. 경우의 수가 적은 경우 사용
- 경우에 의한 증명 : 전수 증명의 일반화된 경우로 모든 가능한 경우를 고려하여 각 경우에 참임을 증명하는 방법. (범위를 나눠 해결)
- 일반성을 잃지않고( W.L.O.G.) : x,y가 역할만 바뀌었을 뿐 동일한 상황일 때 이를 사용하여 중복을 줄인다.
- 전수 증명과 경우에 의한 증명에서 범할 수 있는 오류 : 모든 가능한 경우를 다 고려하지 않고 결론 내리는 상황을 피하자!
- 존재 증명 : ∃xP(x)의 형태의 정리를 증명하는 것
- 유일성 증명 : 하나만 존재하는 것을 보여야함. (유일하다는 것)
- 존재성 : x가 주어진 특성을 만족함을 증명
- 유일성 : x와 다른 y가 있다면 y는 주어진 특성을 만족하지 않는다.
- 증명 전략 : 전향추론, 후향추론, 기존 증명의 차용, 반례 찾기
알고리즘
- 정렬 알고리즘에 대해서 자세히 배웠다. 힙정렬과 기수 정렬, 계수 정렬은 처음 배운 내용이라 유심히 살펴봐야겠다.
- O(n2)인 정렬인 선택정렬, 삽입정렬, 버블정렬의 재귀적 방식을 배우고 수도코드로 만들어보았다.
- 기수정렬, 계수정렬 복습요망
- 시간복잡도 계산해볼 것
Java 프로그래밍
- 오늘은 생성자, 인스턴스 변수와 지역변수의 차이, 스택 힙 에 대해서 배웠다. 이것이자바다에서 배운 내용이라 쉬웠다.
- 인스턴스 변수에는 객체 내에서 사용되는 공통된 속성들이 들어간다. 여러 변수들이 들어갈 수 있으며 이 변수들은 같은 클래스 내 모든 인스턴스 메소드에서 사용될 수 있다. 객체 생성될 때마다 인스턴스 변수는 각각 할당되며 각각 다른 값으로 설정될 수 있다.
- 지역변수는 메소드 내부에서 선언되며 메소드가 호출 되었을 때 스택영역에 생성되어 메소드가 끝날 때 까지 이용가능한 변수이다.
- 생성자는 객체를 초기화할 때 사용하는 것으로 이름이 클래스명으로 되어있다. 또한 리턴타입이 존재하지 않으며 클래스에서 꼭 존재해야 한다. ( 없다면 컴파일러가 자동으로 기본생성자를 만들어준다)
일반 메소드는 클래스 내에서 이루어지는 동작들을 의미한다. 리턴타입이 존재하며 인스턴스 변수와 지역변수, 매개변수 를 이용할 수 있다.
- this는 객체 내 메소드나 생성자에서 객체 자기 자신을 나타낼 때 사용하는 것으로 this를 통해 받은 인자의 이름과 객체 내의 인스턴스 필드의 이름이 같을 경우 구분할 수 있고 생성자가 여러개로 오버로딩 되있을 때 this 생성자를 활용하여 코드의 중복을 줄일 수 있다.
느낀점
- 알고리즘과 이산수학에서 이해하는데 조금 시간이 오래걸린다. 수학에 대한 기본기가 부족한 탓이다. 꾸준한 복습만이 답인 것 같다.
- 내일은 멋쟁이 사자처럼 면접이 있는 날이다. 꼭 면접을 잘 봐서 멋쟁이 사자처럼 활동을 해보고싶다.
Comments