목록Develop/Java (4)
Dazzling 개발 노트
힙 완전 이진트리 형태의 최대, 최솟값을 빠르게 찾아내는데 유용한 자료구조 최소 힙 부모 노드의 key가 자식 노드의 key보다 작거나 같은 완전 이진트리 최대 힙 부모 노드의 key가 자식 노드의 key보다 크거나 같은 완전 이진트리 JAVA로 힙 구현하기 우선순위 큐인 PriorityQueue를 통해 구현할 수 있다. 최대 힙은 내림차순 정렬이어야 하므로, Collections.reverseOrder 옵션을 추가해서 사용한다. PriorityQueue q = new PriorityQueue(Collections.reverseOrder()); 예제 문제 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 ..
자바에서 우선순위 큐(Priority Queue)는 각 요소가 우선순위에 따라 정렬되며, 우선순위가 가장 높은 요소부터 접근할 수 있는 특별한 형태의 큐를 말한다. 이 구조는 특정 요소의 처리 순서를 우선순위에 따라 결정해야 할 때 유용하게 사용된다. 우선순위 큐의 특징 자동 정렬 기능: 우선순위 큐에 요소를 추가하면, 자동으로 우선순위에 따라 내부적으로 정렬된다. 이 정렬 과정은 힙(Heap)이라는 데이터 구조를 사용하여 효율적으로 이루어진다. 우선순위 결정 방식: 우선순위는 요소의 자연적인 순서(예를 들어, 숫자의 경우 낮은 수에서 높은 수로의 순서) 또는 개발자가 제공하는 Comparator를 통해 결정될 수 있다. 효율적인 요소 추가 및 제거: 요소를 큐에 추가하거나 우선순위가 가장 높은 요소를 ..
주요 키워드 extends 클래스 상속 시 사용 클래스 상속에만 사용, 인터페이스 상속 시 미사용 implements 인터페이스 구현 시 사용 클래스가 인터페이스의 모든 추상 메서드를 구현하도록 함 여러 인터페이스 나열 가능 클래스가 인터페이스를 구현할 때 사용, 클래스 상속 시 미사용 throws 메서드나 생성자에서 발생할 수 있는 예외 선언 시 사용 라이브러리 import java.util.*; import java.io.*; Arrays int arr[] = {10, 8,11, 2, 3, 0}; // 오름차순 정렬 Arrays.sort(arr); // 내림차순 정렬 Arrays.sort(arr, Collections.reverseIrder()); // 일부만 정렬 : 0~4만 정렬 Arrays.so..