우선순위 큐
·
Develop
구조를 먼저 맞추고, 값은 나중에 조정한다 1. 우선순위 큐란?정의: 각 원소가 우선순위를 가지며, 우선순위가 높은 원소부터 먼저 처리되는 추상 자료형일반 큐 vs 우선순위 큐: FIFO → 우선순위 기반 처리실생활 비유: 응급실 환자 대기, VIP 고객 서비스, 운영체제 프로세스 스케줄링2. 우선순위 큐의 특징핵심 연산insert(element, priority): 원소를 우선순위와 함께 삽입extractMax/Min(): 최고/최저 우선순위 원소 제거 후 반환peek(): 최고 우선순위 원소 조회 (제거하지 않음)isEmpty(): 비어있는지 확인시간복잡도 비교배열 구현: 삽입 O(1), 추출 O(n)연결리스트 구현: 삽입 O(n), 추출 O(1)힙 구현: 삽입 O(log n), 추출 O(log n)..
싱글링크드리스트
·
Develop
☝🏼 단일 연결 리스트 (Singly Linked List)엘리베이터 없는 고층건물헤드포인터, 테일포인터를 가지고 요소들을 연결만 하고있다.즉 배열이랑 비교하면 삽입과 O(1)의 비용만 들어간다.대신에 접근할 때(삽입, 삭제도 마찬가지) 해당 인덱스까지 순차적으로 가야하며O(n)의 복잡도가 소요된다.헤드와 테일일 데이터 삽입, 삭제 시 유리한 알고리☝🏼 장점과 단점장점동적 크기: 런타임에 크기 조절 가능메모리 효율성: 필요한 만큼만 메모리 할당삽입/삭제 용이: 특정 위치에서의 삽입/삭제가 배열보다 효율적 (포인터만 변경)단점순차 접근만 가능: 랜덤 액세스 불가능추가 메모리: 포인터 저장을 위한 오버헤드캐시 지역성 부족: 메모리상에서 분산되어 있어 캐시 효율성 떨어짐☝🏼 언제 연결리스트를 사용할까?연..