일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- builderPattern
- Singleton
- Observer Pattern
- Kotlin
- 추상팩토리패턴
- ㅓ
- 빌터패턴
- a
- 함수형프로그래밍
- 프로토타입 패턴
- Functional Programming
- 싱글톤
- 팩토리 메소드
- 옵저버 패턴
- designPattern
- r
- Abstract Factory
- 디자인패턴
- PrototypePattern
- 추상 팩토리
- 코틀린
- 디자인패턴 #
- factory method
- El
- F
- Design Pattern
- ㅋㅁ
- Today
- Total
목록전체 글 (327)
오늘도 더 나은 코드를 작성하였습니까?
* 나무위키의 내용 및 * 아래 링크의 유튜브 영상을 보고 본 글은 제 학습의 결과를 정리한 내용입니다. https://youtu.be/bqkcoSm_rCs?si=TVQzH3urhF3rorru 정의 B 트리(B-tree)는 데이터베이스와 파일 시스템에서 널리 사용되는 트리 자료구조의 일종으로, 이진 트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조이다. 방대한 양의 저장된 자료를 검색해야 하는 경우 검색어와 자료를 일일이 비교하는 방식은 비효율적이다. B-트리는 자료를 정렬된 상태로 보관하고, 삽입 및 삭제를 O(logn) 지수시간으로 할 수 있다 특징 자식 노드의 개수를 늘려 저장하기 위해서 최소 1개 이상의 key는 부모노드에 존재한다. 부모노드의 key는 오름..
모듈러 연산(mod %) 정의 A를 B로 나누었을 때의 결과(몫이 Q이고 나머지가 R)이라고 하자. A / B = Q, A %(mod) B = R A = BQ + R 10 mod(%) 4는 원을 4등분 시키고 12시 지점을 0으로 잡고 10만큼 이동하면 도착하는 곳의 숫자 "2" 즉 2바퀴 돌고 2번 더감 10 = 2*4 + 2 합동 A mod C = B mod C 이면 합동(A ≡ B(mod C))이다. (A-B)(mod C) = 0 5 mod 7 = 5 12 mod 7 = 5 19 mod 7 = 5 특징 대칭성 : A ≡ B(mod C)이면 B ≡ A(mod C) 추이성 : A ≡ B(mod C)이고 B ≡ D(mod C)이면 A ≡ D(mod C) 알고리즘에 필요한 지식 (A+B) mod C =(A..
일단은 두 개 부분집합으로 쪼갠다. 더 이상 나눠지지 않을 크기만큼 1개 원소만 남을때 까지 다시 병합을 해가면서 정렬한다. 빨간색 선까지 일단 쪼깨고 그리고 합치면서 정렬한다. 합치면서 정렬하는 과정. 재귀적 방법으로 구현. val arr = intArrayOf(10, 1, 5, 3, 2, 4, 7, 9, 8, 6, 5) val sortedArr = IntArray(arr.size) { 0 } fun merge(m: Int, middle: Int, n: Int) { var i = m var j = middle + 1 var k = m // 비교하면서 정렬된 배열에 넣기. while (i
퀵 정렬(quick sort)은 기준키를 기준으로 작거나 같은 값을 지닌 데이터는 앞으로, 큰 값을 지닌 데이터는 뒤로 가도록 하여 작은 값을 갖는 데이터와 큰 값을 갖는 데이터로 분리해가며 정렬하는 방법이다. 기준키(pivot)은 임의 원소를 잡으면된다. 일반적으로 제일 처음에 있는 원소 또는 가장 중간에 있는 원소를 잡는다. 여기서는 제일 처음에 있는 원소를 잡도록 구현한다. /* 퀵 정렬 기준키(피벗)를 기준으로 작거나 같은 값을 지닌 데이터는 앞으로, 큰 값을 지닌 데이터는 뒤로 가도록 한다. 재귀적 방법을 이용하여 구현한다. 평균적인 시간복잡도는 O(N * logN) 최약의 경우 O(N^2) */ val arr = intArrayOf(10, 1, 5, 3, 2, 4, 7, 9, 8, 6) fun..