| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 코루틴
- 추상팩토리패턴
- 함수형프로그래밍
- ㅓ
- 빌터패턴
- Abstract Factory
- define
- 옵저버 패턴
- Kotlin
- 팩토리 메소드
- 프로토타입 패턴
- ㅋㅁ
- Functional Programming
- 추상 팩토리
- Singleton
- 디자인패턴 #
- 안드로이드 디자인시스템
- material3
- 싱글톤
- designPattern
- factory method
- Design Pattern
- 코틀린
- PrototypePattern
- Observer Pattern
- builderPattern
- android designsystem
- Coroutines
- 디자인패턴
- compose
- Today
- Total
목록분류 전체보기 (338)
오늘도 더 나은 코드를 작성하였습니까?
정의 AVL Tree(Adelson-Velsky and Landis 만든 사람 이름) * 이진탐색 트리의 일종이기 때문에 이진탐색 트리의 특성을 모두 만족한다. - 스스로 균형을 잡는 데이터 구조 중 처음으로 발명되었다. - AVL 트리에서, 두 자식 서브트리의 높이는 항상 최대 1만큼 차이만 난다. - 삽입, 삭제 시점에 특정 노드를 기준으로 양쪽의 두 서브 트리의 높이 차이가 1보다 커지면 이 속성을 유지하기 위해서 균형을 잡는다. 검색, 삽입, 삭제는 모두 평균과 최악의 경우 O(log n)의 시간복잡도가 걸린다. 삽입과 삭제는 한 번 이상의 트리 회전을 통해 균형을 잡을 수 있다 이진트리에서 데이터가 아래와 같이 한쪽으로 편향되어서 저장이 된다면, O(n) 시간복잡도가 걸린다. 이것을 해결하기 위..
참조한 자료 유튜브 - https://www.youtube.com/watch?v=i57ZGhOVPcI 정의 *이진 트리(binary tree)- 각각의 노드가 최대 두 개의 자식 노드를 가지는 트리 자료 구조 이진 탐색 트리(BST: binary search tree) 이진 트리중 아래와 같은 특징을 지니는 트리 - 모든 노드는 값(value)을 가진다. - 값은 대소관계가 존재한다. 즉 비교 가능하다. - 노드의 왼쪽 서브트리에는 그 노드의 값보다 작은 값들을 지닌 노드들로 이루어져 있다. - 노드의 오른쪽 서브트리에는 그 노드의 값보다 큰 값들을 지닌 노드들로 이루어져 있다. - 좌우. 서브 트리는 각각이 다시 이진 탐색 트리 이다. search / insert / delete *search 는 In..
이진법 정의 이진법(二進法, binary)은 두 개의 숫자(0과 1)만을 이용하는 수 체계이다. * 이진수 각 자릿수에 따른 표현 가능한 수. 1자리 -> 0, 1 2자리 -> 00, 01, 10, 11 3자리 -> 000, 001, 010, 011, 100, 101, 110, 111 n자리 -> 2^n개 변환 10진수 -> 2진수 예) 20 1이 될때까지 나눠서 나머지를 모음. fun decimalToBinary(n: Int): IntArray { var decimal = n val arr = IntArray(32) { 0 } var idx = 0 while (decimal != 1) { arr[idx] = decimal % 2 decimal /= 2 idx += 1 } arr[idx] = decima..
정의 그래프를 방문 또는 탐색하는 방법중 하나이다. 시작 노드를 기준으로, "동일한 레벨"를 기준으로 탐색을 진행한다. 즉, 1개의 간선으로 연결된 모든 노드 탐색 후, 2개의 간선으로 연결된 모든 노드 탐색.. 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 너비 우선 탐색을 적용한다 한번 방문한 노드는 다시 방문하지 않는다. V - 정점(노드)의 개수 E - 간선의 개수 인접리스트로 표현된 자료구조로 탐색 했다면 시간복잡도 - O(V + E) 인접행렬로 표현된 자료구조로 탐색 했다면 (시간 복잡도가 크기 때문에 인접리스트로 바꾸어 탐색) 시간복잡도 O(V^2) 동일한 level 순으로 탐색을 해야될때 사용한다. 간선에 특별한 가중치가 있지 않고 모든 간선의 가중치가 동..
