일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Apple Developer Academy
- 비동기
- 운영체제
- Swift
- 동기화
- 오브젝트
- core data
- 프로세스 스케줄링
- Linked List
- SwiftUI
- struct
- decode
- UserDefaults
- 앨런
- IOS
- 알고리즘
- 파일 시스템
- async
- 동시성
- 상호배제
- Algorithm
- 가상 메모리
- 100 days of SwiftUI
- Codable
- COLOR
- 데드락
- 인프런
- @state
- deadlock
- forEach
- Today
- Total
목록Linked List (3)
기어가더라도 제대로
문제 링크드 리스트와 left, right 인덱스가 주어질 때 Left 인덱스 부터 right 인덱스까지를 뒤집은 Linked List를 반환하라. 뒤집는 다는 접근을 어떻게 할지감이 오지 않아서 오래 걸린 문제 -> 결국 답지를 보았다. 풀이 다양한 포인터가 필요할 것 같았는데, 크게는 p, tail, temp가 필요했다. 그리고 그들 사이에 연결을 뒤섞는 순서도 중요했다. 더미 노드와 P 포인터를 선언함 p 포인터를 left-1까지 당겨옴 p의 다음 포인터를 tail로 선언 left-right의 길이 만큼 a,b,c,d 컴비네이션을 적용 a) p의 다음 노드를 tmp로 지정한다. b) p의 다음 노드로 tail의 다음 노드를 지정한다. c) tail.next.next를 tail.next에 저장한다. ..
Allocation Methods File 저장을 위한 디스크 공간 할당 방법 Free space management 디스크의 빈 공간 관리 Allocation Method Continuous Allocation 한 파일을 디스크의 연속된 block 에 저장 장점 효율적인 file 접근(순차, 직접 접근) 문제점 새로운 file 을 위한 공간 확보가 어려움 External fragmentation file 공간 크기 결정이 어려움 파일이 커져야 하는 경우 고려해야함 Linked Allocation File 이 저장된 Block들을 linked list 로 연결 비연속 할당 가능 Directory는 각 file 에 대한 첫 번쨰 block에 대한 포인터를 가짐 Simple, No ex..
추가와 삭제가 빈번한 자료구조는 연결리스트를 추천한다. 배열은 탐색이 빈번한 경우 정의 - 연결 리스트 연결 리스트는 각 요소를 포인터로 연결하여 관리하는 선형 자료구조다. 각 요소는 노드라고 부르며 데이터 영역과 포인터 영역으로 구성된다. 첫번째 노드는 HEAD라고 부른다. 특징 메모리가 허용하는 한 요소를 제한없이 추가할 수 있다. 탐색은 O(n)이 소요된다. 요소를 추가하거나 제거할 때는 O(1)이 소요된다. 종류 Singly Linked List Doubly Linked List Circular Linked List 배열과 차이점 메모리 차이 배열 - 연속적인 메모리 영역 사용 연결 리스트 - 각 영역이 떨어져 있고 이를 참조하기 위해 포인터 사용 요소 추가 & 삭제 배열 - 선형 시간 O(N) ..