트리(Tree)란? 트리는 계층적 구조를 가진 비선형 자료구조로, 노드(Node)들이 부모-자식 관계로 연결된 구조입니다. Java에서 트리 구조는 주로 사용자 정의 클래스를 통해 구현되며, TreeSet과 TreeMap 같은 컬렉션 프레임워크를 통해서도 활용됩니다. Java에서 트리 구현의 기본 사용자 정의 트리 노드 클래스를 만들어 기본적인 트리 구조를 구현해봅시다. 사용자 정의 트리 노드 클래스 트리의 기본 구성 요소인 노드를 정의하는 클래스입니다. class TreeNode { int data; TreeNode left; TreeNode right; TreeNode(int data) { this.data = data; this.left = null; this.right = null; } } 트리 ..
큐(Queue)란? 큐는 선입선출(First In, First Out; FIFO) 원칙에 따라 동작하는 선형 자료구조입니다. Java에서는 Queue 인터페이스를 통해 다양한 종류의 큐를 구현합니다. Java에서 큐의 기본 사용법 Java에서 LinkedList 또는 PriorityQueue 클래스를 사용하여 큐를 구현할 수 있습니다. 큐 선언 및 초기화 import java.util.LinkedList; import java.util.Queue; Queue queue = new LinkedList(); 큐에 요소 추가 (Enqueue) queue.offer(10); // 10 추가 queue.offer(20); // 20 추가 큐에서 요소 제거 (Dequeue) int firstElement = que..
스택(Stack)이란? 스택은 후입선출(Last In, First Out; LIFO) 원칙에 따라 동작하는 선형 자료구조입니다. Java에서 스택은 Stack 클래스를 통해 구현됩니다. Java에서 스택의 기본 사용법 Java의 Stack 클래스를 사용하여 스택의 기본적인 동작을 실습해봅시다. 스택 선언 및 초기화 import java.util.Stack; Stack stack = new Stack(); 스택에 요소 추가 (Push) stack.push(10); // 10 추가 stack.push(20); // 20 추가 스택에서 요소 제거 (Pop) int topElement = stack.pop(); // 가장 최근에 추가된 요소(20) 제거 및 반환 스택의 최상단 요소 확인 (Peek) int pe..
연결 리스트(Linked List)란? 연결 리스트는 데이터 요소들이 노드(Node)로 표현되며, 각 노드가 다음 노드를 참조하는 방식으로 구성된 선형 자료구조입니다. Java에서는 LinkedList 클래스를 통해 연결 리스트를 제공합니다. Java에서 연결 리스트의 기본 Java의 LinkedList 클래스를 활용하여 연결 리스트의 기본적인 사용법을 알아봅시다. 연결 리스트 선언 및 초기화 import java.util.LinkedList; LinkedList myList = new LinkedList(); 연결 리스트 요소 추가 myList.add("Apple"); myList.add("Banana"); myList.addFirst("Strawberry"); // 리스트의 시작 부분에 요소 추가 m..