본문 바로가기

Language

(38)
람다표현식 Java 8 이후로 지원되는 문법으로 Js의 애로우 펑션과 비슷하게 작성할 수 있다. (int i) -> i (int i) ->{ return i; } 이런식으로 쓰일 수 있는데 기본형은 (매개변수) -> { 실행문 } 이다. 만약, 어떤 전처리 과정이 없이 리턴에 묶어 보낼 수 있다면 중괄호는 생략 가능하다. 주의할 점은, 바깥 스코프에서 이미 선언된 x를 매개변수로 쓰기 시작했으면 그 다음 매개변수는 무조건 이미 선언된 것이여야 한다 선언된 매개변수와 선언되지 않은 매개변수의 선언을 동시에 쓸 수 없다. 람다식으로 선언된 함수는 재사용이 불가한 특징이 있다. (함수 명이 정의되지 않음)
final 키워드 Final 키워드는 Java에서 해당 변수나 클래스에 대해 상수처럼 취급할 수 있도록 잠구어주는 역할을 한다. final 변수, final 메서드, final 클래스와 같이 쓸 수 있다. final 변수 모든 final 키워드로 선언한 원시타입 ( boolean, char, byte, short, int, long, float, double ) 으로 초기화된 변수는 그 값을 변경할 수 없다, IDE 상에서 에러를 검출한다.
유니티 생명주기 초기화 - Awake() : 게임오브젝트 생성할때, 최초 실행 Start() : 실행. (활성화) - OnEnable() : 게임 오브젝트가 활성화 됐을 때 물리 FixedUpdate() : 물리 연산 업데이트 ( CPU 부하 ) 게임로직 Update() : 게임 로직 업데이트 ( 실행 주기가 다를 수 있음 ) LateUpdate() : 모든 업데이트가 끝난 후 실행 ( 후처리, 카메라 등 ) (비활성화) - OnDisable() : 게임 오브젝트가 비활성화 됐을 때. 해체 OnDestroy() : 게임 오브젝트등이 삭제될 때
5. 힙 트리 ( Heap Tree ) 트리형 자료구조에서 최대값, 최소값을 빠르게 찾아내기 위해 고안된 자료구조이다. 단순한 규칙 하나를 가지고 있는데 부모의 값은 항상 자식들의 값보다 크거나 작아야 한다. 최소값을 구할 때는 부모의값이, 최대값을 구할 때는 자식의 값이 작아야한다. (최소 힙, 최대 힙) 힙 트리의 삽입과정은 다음과 같다. 9가 삽입될 때, 해당 트리에서 최소힙을 구하는 과정 1, 최하위 노드를 삽입한다. 2, 부모노드와 비교하여 조건에 부합할 경우, 부모노드와 교환한다. 3, 위 과정을 반복한다. 삭제 과정은 루트 노드를 제거 후, 루트자리에 마지막노드를 삽입하고 자식노드들과 비교하는 형식으로 이루어진다.
4. 합병 정렬 합병 정렬은 주어진 n길이의 리스트에서 작은 집합을 여러개 만들어 비교하고 여러 집합을 병합해과는 과정에서 리스트를 정렬해나가는 방법이다. 1. 분할단계는 리스트를 성분이 2개가 될 때까지 분할한다. 2. 병합단계는 2개의 성분을 가진 리스트에서 정렬하여 병합된 리스트에 삽입한다. 3. 모든 리스트가 주어진 길이 n이 될 때까지 병합을 반복한다 합병정렬의 방법 출처: https://ko.wikipedia.org/wiki/%ED%95%A9%EB%B3%91_%EC%A0%95%EB%A0%AC 합병 정렬 - 위키백과, 우리 모두의 백과사전 합병 정렬 또는 병합 정렬(merge sort)은 O(n log n) 비교 기반 정렬 알고리즘이다. 일반적인 방법으로 구현했을 때 이 정렬은 안정 정렬에 속하며, 분할 정복 ..
3. 버블 정렬 버블 정렬은 인접한 두 원소를 검사해 정렬하는 알고리즘이다. 선택 정렬은 앞자리를 제하고, 남은 것 중 최소값을 찾는 방식으로 추출 했었으나, 버블 정렬에서는 모든 값을 다회 비교하기 위해 한 자리에서 두 번 이상의 교체가 이루어지는 경우가 있다. 1. 주어진 리스트의 첫번째 값과 인접한 값을 비교한다. 2. 두 값의 크기 순서가 일치하지 않을 경우, 교환한다. 3. 각 자리별로 순서대로 반복하며, 모든 자리의 값 크기 순서가 맞을 때 까지 순회한다. 리스트가 [ 5,4,2,1,0,3 ] 일 경우, 큰 수부터 정렬하는 예시 1순회 pass table 자리교환 0 5,4,2,1,0,3 1 5,4,2,1,0,3 X 2 5,4,2,1,0,3 X 3 5,4,2,1,0,3 X 4 5,4,2,1,0,3 X 5 5,..
2. 선택 정렬 선택정렬은 정렬 알고리즘의 하나로 리스트 자료형에서 적은 비용을 부과하는 특징을 가지고 있다. 1. 주어진 리스트에서 최소값을 찾는다. 2. 리스트의 맨 첫번째를 n이라고 하고, 처음에는 n의 위치로 최소값을 이동한다. 3. 다시 최소값을 찾아 n+1 위치로 이동한다. 4. 정렬될 때까지 위 3번 항목을 반복한다. 리스트가 [ 5,4,2,1,0,3 ] 일 경우, pass table 최소값 0 [ 5,4,2,1,0,3 ] 0 1 [ 0,5,4,2,1,3 ] 1 2 [ 0,1,5,4,2,3 ] 2 3 [ 0,1,2,5,4,3 ] 3 4 [ 0,1,2,3,5,4 ] 4 5 [ 0,1,2,3,4,5 ] 5 『시간 복잡도』 O(n^2) 이며, 모든 수를 swap 할 경우이다. Ω(n^2) 이며, swap의 수가 ..
1.이진탐색트리 (BST) 이진탐색트리는 오름,내림차순이 가능한 리스트 혹은 정렬된 구조의 자료형에서, 처음 크기의 값의 중간값을 임의의 값으로 정하고, 크고 작음 여부를 판별해나가는 방식으로 비교한다. 11을 찾기위해 이진탐색 트리를 사용할 경우, 중간값인 6보다 크거나 작음을 판별하기만 하면 되기 때문에 좌측 서브트리는 고려할 필요가 없다, 따라서 필요한 최소 검색 시간이 매우 줄어들게 된다. 『시간 복잡도』 전체 순회의 경우, 최상의 결과일 때 시간복잡도는 Ω(1) [ 첫번째에 찾은 경우 ] 최악의 결과일 때 시간복잡도는 O(n) [ 마지막에 찾은 경우 ] 이지만 이진탐색트리의 검색 시간 복잡도는 Ω(1), O(H) 로, 트리의 높이에 따라서 달라지긴 하나, 전체 순회보다 빠르다고 할 수 있다. def binarySearch..