일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linked List
- 운영체제
- 가상 메모리
- 프로세스 스케줄링
- 앨런
- 데드락
- struct
- IOS
- UserDefaults
- Algorithm
- decode
- deadlock
- 비동기
- Codable
- Swift
- 동시성
- core data
- forEach
- COLOR
- 상호배제
- 동기화
- @state
- 오브젝트
- async
- Apple Developer Academy
- 알고리즘
- 인프런
- 100 days of SwiftUI
- SwiftUI
- 파일 시스템
- Today
- Total
목록CS/자료구조 (27)
기어가더라도 제대로
투포인터 알고리즘 정의 일차원 배열에 두개의 포인터를 두고 조작하는 알고리즘 보통 연속적인 구간에 대한 계산을 할 때 많이 사용한다. 구간합 문제에서 많이 사용 count = 0 partialSum = 7 P1 = 0 P2 = 0 부터 출발해서 두 포인터가 마지막 요소까지 도착을 하며 두 포인터사이의 합이 10이 될때 마다 카운터에 1을 더한다. 목적값이 10인데 부분합이 7이므로 두번째 포인터를 이동시킨다. 부분합이 8이 되었다. count = 0 partialSum = 8 P1 = 0 P2 = 1 부분합이 8로 10을 넘지 않으므로, 두번째 포인터를 한칸 이동한다. 부분합이 11이 되었다. count = 0 partialSum = 11 P1 = 0 P2 = 2 부분합이 10을 넘었으므로, 첫번째 포인..
정의 비트를 직접 조작하는 연산자 이진법 성질을 이용하여 문제를 해결하는 방법 특정 알고리즘은 아니고 비트 연산을 이용한 일종의 코딩 기법 이진수가 자료구조로 사용된다. 배열 대신 이진수를 이용할 수 있다. ex) [true, true, false,true] = 1101(2) 굉장히 빠르고 메모리 사용량이 적다. 그리디, 동적 계획법 등 다른 알고리즘과 함께 사용할 수 있다. 사용법 주의할 점 정수형 범위를 넘지 않도록 조심 연산자 우선 순위에 주의할 것 출처 케이시 강의
Tags: 알고리즘 등록일: 2022.08.03 블로그 포스팅 여부: Not started 작성소요시간: 0:30 학습일: 2022.08.03 정의 필요한 간선 이외에는 전부 제거한다! 신장 트리(Spanning tree) 란 그래프 내에 모든 정점을 포함하는 최소 연결 부분 그래프다. 여기서 최소 신장 트리(MST)는 다음과 같은 조건을 만족한다. 최소한의 간선으로 모든 정점이 연결되어야 한다. 모든 신장 트리 중 가중치의 값이 최소여야 한다. Cycle이 발생해서는 안된다. 최소 신장 트리를 위한 알고리즘은 대표적으로 두 가지가 있다. 크루스칼(Kruskal) 프림(Prim) 크루스칼 알고리즘 그리디 개념을 이용하여 구현할 수 있다. 먼저 모든 그래프를 부분 집합으로 분리한다. 가장 가중치가 낮은 간..