weak와 unowned의 차이 (ARC)
Swift 2022. 11. 8. 22:41

HTML 삽입 미리보기할 수 없는 소스 Unowned와 weak의 라이프타임과 성능 기본적으로 swift 코드를 작성할 때, 객체 간의 순환 참조를 피하기 위해서 unowned와 weak 중 하나를 선택해야 한다. 그러나 두 개의 차이점에 대해선 알지만, 단순히 생각하면 옵셔널 언래핑 과정이 필요하더라도 weak를 사용하는게 좋다는 생각이 드는데, Swift에서 제공해주는 Null safety를 포기하면서까지 unowned를 사용하는 이유가 있지 않을까? 기초 많은 언어에서, 순환 참조에 의해 인스턴스가 메모리에서 할당되지 않는 문제를 해결하기 위해 weak 참조라는 개념이 존재한다. swift엔 두 가지의 weak 참조가 존재한다. unowned weak 두 가지는 같은 목적을 공유하지만, 관련된 객체..

자료구조 - 힙 (Heap) java
알고리즘 2022. 2. 4. 11:37

우선순위 큐란? 자료가 들어오는 순서와 상관없이, 우선순위가 제일 높은 데이터가 먼저 빠져나간다 우선순위 큐의 활용사례 네트워크 트래픽 제어 운영 체제에서 프로세스 스케줄링 시뮬레이션 자료구조 삭제되는 데이터 스택(Stack) 가장 최근에 들어온 데이터 (Last In First Out) 큐(Queue) 가장 먼저 들어온 데이터 (First In First Out) 우선순위 큐(Queue) 우선순위가 제일 높은 데이터 힙이란? 완전 이진 트리로, 우선순위 큐를 위하여 만들어진 자료구조이다. 우선순위가 제일 높은 데이터를 바로 찾아내도록 만들어진 자료구조다 힙은 일종의 반정렬 상태를 유지한다. 우선순위가 제일 높은 값이 루트 노드에 존재한다. 부모 노드가 자식 노드보다 우선순위가 높지만, 완전히 정렬된 상..