자바 7

[자료구조] 그래프 (Graph) 구현 (JAVA)

그래프를 구현하는 방법은 크개 두 가지가 있다. 인접 행렬을 이용하거나 인접 리스트를 이용하는 방법을 주로 사용한다. 그래프에 대한 자세한 내용은 전 포스팅을 참고하기 바란다.2024.06.26 - [CS/자료구조] - [자료구조] 그래프 (Graph) [자료구조] 그래프 (Graph)그래프란?그래프는 정점(vertex: V)과 정점들을 연결하는 간선(edge: E)으로 구성된 자료구조이다. 예를 들어 지하철 노선도를 그래프라고 할 수 있다.그래프는 트리와는 달리 순환이 발생해도 된다.junote.tistory.com 인접 리스트를 이용한 방법 (JAVA)import java.util.LinkedList;import java.util.List;public class Vertex { String la..

CS/자료구조 2024.06.27

[자료구조] 이진 탐색 트리 (Binary Search Tree) 구현 (JAVA)

트리는 주로 계 층적 구조를 표현하는 데 사용하는 자료구조로 노드들로 구성되어 있다. 트리에 대한 자세한 내용은 전 포스팅을 참고하기 바란다.2024.06.22 - [CS/자료구조] - [자료구조] 트리 (Tree)2024.06.23 - [CS/자료구조] - [자료구조] 이진 트리 (Binary Tree) 이진 탐색 트리 구현간단한 이진 탐색 트리를 만들고 전위, 중위, 후위 및 레벨 순회를 실행해 보는 코드를 구현해 보도록 하겠다.public class Node { Object data; Node left; Node right; Node(Object data) { this.data = data; this.left = null; this.righ..

CS/자료구조 2024.06.24

[자료구조] 연결 리스트 (Linked-List) 구현 (JAVA)

연결 리스트는 데이터와 포인터로 구성된 노드들의 집합이다. 연결 리스트에 대한 자세한 내용은 전 포스팅을 참고하기 바란다.2024.06.18 - [CS/자료구조] - [자료구조] 연결 리스트 (Linked-List) [자료구조] 연결 리스트 (Linked-List)연결 리스트란?연결 리스트는 노드들로 구성되어 있다. 위 그림에서 각각의 큰 직사각형들이 하나의 노드이다. 노드는 데이터 영역과 링크(포인터) 영역으로 구성되어 있다. 데이터 영역은 데이junote.tistory.com 단일 연결 리스트 구현단일 연결 리스트의  각 노드는 다음 노드를 가리키는 하나의 포인터를 가지며 마지막 노드의 포인터는 null이다.public class Node { Object data; Node next; ..

CS/자료구조 2024.06.20

[자료구조] 큐 (Queue) 구현 (JAVA)

큐란 선입선출(FIFO) 구조를 갖는 자료구조이다. 큐에 대한 자세한 설명은 전 포스팅을 참고하기 바란다.2024.06.15 - [CS/자료구조] - [자료구조] 큐 (Queue) [자료구조] 큐 (Queue)큐란?큐는 스택과 마찬가지로 컴퓨터에 있어서 중요한 자료구조 중 하나이다.큐는 후입선출(LIFO)인 스택과 달리 선입선출(First-In First-Out: FIFO) 구조를 갖는 자료구조이다. 스택에서는 접시 더미junote.tistory.com 큐 구현 방법큐를 구현하는 것은 크게 두 가지 방법이 있다.배열(Array) 기반 큐: 고정 크기의 배열을 사용하여 큐를 구현한다. 간단하지만 큐의 크기가 고정되어 있다는 단점이 있는 방법이다.연결 리스트(Linked-List) 기반 큐: 동적으로 크기를..

CS/자료구조 2024.06.18

[자료구조] 큐 (Queue)

큐란?큐는 스택과 마찬가지로 컴퓨터에 있어서 중요한 자료구조 중 하나이다.큐는 후입선출(LIFO)인 스택과 달리 선입선출(First-In First-Out: FIFO) 구조를 갖는 자료구조이다. 스택에서는 접시 더미를 예로 들었다면 큐에서는 음식점 대기줄을 예로 들 수 있다. 음식점의 대기줄에서는 먼저 온 사람이 먼저 식당에 들어갈 수 있다.큐는 선입선출 구조이므로 먼저 들어온 데이터가 먼저 나간다. 큐의 연산큐의 주요 연산은 다음과 같다.Enqueue(): 큐의 끝에 새로운 요소를 추가(삽입)Dequeue(): 큐의 앞에서 요소를 제거(제거)front(): 큐의 맨 앞에 있는 요소를 제거하지 않고 반환rear(): 큐의 맨 뒤에 있는 요소를 제거하지 않고 반환 큐의 구현과 예시 (JAVA)큐를 구현하는..

CS/자료구조 2024.06.15

[자료구조] 스택 (Stack)

스택이란?스택은 컴퓨터에서 매우 자주 사용되는 자료구조이기 때문에 굉장히 중요한 자료구조이다.Stack이라는 단어를 단어사전에 검색하면 "무더기(더미)"라는 결과를 얻을 수 있다. 스택은 말 그대로 쌓아놓은 무더기라고 할 수 있다. 식당에서 접시를 쌓아두고 사용하는 것을 상상해보자. 그릇을 사용하려면 맨 위에 있는 그릇을 들어야 한다. 그리고 그릇을 더 추가하려고 하면 맨 위에 새로운 그릇을 두어야 한다. 이것이 바로 스택이다.스택은 그림과 앞서 말했던 그릇 예시에서 볼 수 있듯이 후입선출(Last-In First-Out: LIFO) 구조를 갖는 자료구조이다. 스택에서는 나중에 들어온 데이터가 처음으로 나가게 된다. 스택의 특징스택의 가장 큰 특징은 후입선출(LIFO) 구조를 갖는다는 것이다. 다른 특징..

CS/자료구조 2024.06.15

[자료구조] 배열 (Array)

배열이란?배열은 연속된 공간에 번호(인덱스)와 그에 대응하는 데이터들로 이루어진 자료구조이다.위 그림처럼 배열은 0부터 시작하는 각각의 인덱스에 해당하는 데이터를 저장할 수 있는 형태이다.배열은 대부분의 프로그래밍 언어에서 한 가지의 데이터 타입만을 저장하는 것을 허용한다. 예를 들어 int형 배열을 선언하면 각각의 데이터는 모두 int형 데이터이다. 배열의 형태 (JAVA)자바(JAVA)에서는 배열을 다음과 같이 선언할 수 있다.//배열을 선언하고 초기화하는 방법String[] array = {"a", "b", "c", "d", "e"};또는//배열을 선언하고 나중에 값을 할당하는 방법String[] array = new String[5];array[0] = "a";array[1] = "b";array..

CS/자료구조 2024.06.13