일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 암호학
- boj
- ProGuard
- TEST
- 코루틴
- Rxjava
- androidStudio
- Coroutine
- Codeforces
- GitHub
- Coroutines
- relay
- Gradle
- Kotlin
- android
- 백준
- activity
- Hilt
- Compose
- 코드포스
- Python
- MyVoca
- livedata
- textfield
- MiTweet
- 프로그래머스
- 쿠링
- architecture
- pandas
- AWS
- Today
- Total
목록CS (19)
이동식 저장소

Graph 그래프란 하나 이상의 정점이 0개 이상의 간선으로 이어진 것을 말한다. 간선은 양방향일 수도, 단방향일 수도 있다. 간선이 단방향이라면 간선을 통해 한쪽 방향으로만 이동할 수 있으며, 반대로는 이동할 수 없다. 간선에는 가중치가 있을 수도 있다. 일반적으로 가중치란 간선을 지나가는 비용 또는 정점 간의 거리를 의미한다. 그래프와 관련된 알고리즘으로는 최단 거리 알고리즘과 SCC 등이 있다. Tree 생각해 보니 Heap보다 Tree를 먼저 정리해야 했는데... 뭐 어쩔 수 없지. 사이클이 없는 그래프를 Tree라고 부른다. 사이클이란 정점에서 출발하여 서로 다른 간선을 지나 자기 자신으로 돌아오는 경로이다. 트리의 맨 위에 있는 노드를 루트 노드라고 한다. 반대로 맨 밑에 있는 노드를 리프 노..

Array 배열은 같은 타입의 자료 여러 개를 일직선으로 저장하는 자료구조이다. 메모리 공간에도 연속적으로 저장되는 특성 때문에 대량의 비트 연산을 쉽게 수행할 수 있다. 모든 자료가 연속적으로 저장되므로, 첫 번째 원소의 주소만 알면 상수 시간에 모든 원소에 접근할 수 있다. 그러나 (맨 뒤에 삽입하는 경우를 제외하면) 삽입과 삭제 연산을 처리하는 데 선형 시간이 걸린다. 삽입 또는 삭제하는 위치 뒤에 있는 요소들을 뒤로 밀거나(삽입) 앞으로 당겨와야(삭제) 하기 때문이다. 배열이 꽉 찼다면 메모리를 추가로 할당받아야 한다. 운이 나쁘다면 아예 다른 위치로 값을 옮겨야 할 수도 있다. LinkedList 값을 연속해서 저장하지 않고, 다음 값의 주소만을 가리키는 방식으로 저장한다. 메모리 상에 연속해서..

맥스웰의 악마 비트는 에너지를 가지고 있다. 비트를 저장하고 처리하는 데 에너지가 들기 때문이다. 그러면
1. 사용자 정의 함수 1.1 함수 정의 방법 func = function(arg1, arg2, ...) { ... } 한 줄짜리 함수는 중괄호를 안 써도 된다. my.sum = function(x, y) x + y 1.2 매개변수 매개변수에는 디폴트 값을 줄 수 있다. 디폴트 값이 주어진 매개변수는 함수 호출 시 생략해도 된다. func = function(x, conf=0.95) { ... } func(c(1, 2)) # OK func(c(1, 2), conf=0.9) # OK 기존의 함수를 이용하여 함수를 정의할 때 생략 부호 ...을 이용하면 매우 편리하다. 일반적으로 생략 부호는 함수의 마지막 매개변수로 지정한다. 함수를 호출할 때 ... 부분에 사용한 매개변수는 모두 기존 함수로 전달된다. f..