본문 바로가기

전체 글

(92)
[Data Structure 기초] 우선순위 큐 Priority Queue (우선순위 큐) - 우선순위가 높은 데이터가 먼저 나옴 - 모든 데이터에 우선순위가 있음 - Dequeue 시 , 우선수위가 높은 순으로 나감 - 우선 순위가 같은 경우는 FIFO - 최소 힙 및 최대 힙의 삽입 삭제가 같다 - 배열, LinkedList, Heap 으로 구현 가능 시간 복잡도 비교 // 비선형 자료구조 - 우선순위 큐 // 연결 리스트를 이용한 우선순위 큐 // 자바 기본 PriorityQueue import java.util.*; public class Main { public static void enqueue(LinkedList list, int data) { int idx = list.size(); for (int i = 0; i < list.size(..
[Data structure 기초 연습] ArrayList로 최소/최대 힙 구현 import java.io.IOException; import java.util.ArrayList; //비선형자료구조 힙 //ArrayList로 최소 힙 구현 class MinHeap{ ArrayList heap; public MinHeap(){ this.heap = new ArrayList(); this.heap.add(0); } public void insert(int data){ heap.add(data); int cur = heap.size() - 1; //insert 하는 곳 while (cur > 1 && heap.get(cur / 2) > heap.get(cur)){ //비교 int parentVal = heap.get(cur / 2); heap.set(cur / 2, data);//스왑 h..
[Data Structure 기초] 그래프와 트리의 차이 Graph (그래프) Trees (트리) 개요 노드와 간선으로 이루어진 자료 구조 그래프의 한 종류 방향성 방향 그래프, 무방향 그래프 방향 그래프 사이클 Cyclic Acyclic 모델 네트워크 모델 계층 모델 루트 노드 루트 노드 X 최상위 노드 부모-자식 부모-자식 관계 X 인접한 상하위 노드 간선 수 그래프에 따라 간선 개수 다름 N개의 노드로 구성된 트리의 간선 수는 N-1개 순회 DFS , BFS Pre-, In-, Post-order / Level-order 경로 2개 이상의 경로 가능 두 노드 간의 경로는 1개