Study/자료구조 (5) 썸네일형 리스트형 트리(Tree) 트리(Tree)란? 데이터 사이의 계층 관계를 나타내는 자료구조 노드(node)와 가지(edge)로 구성된다. 루트 : 트리의 가장 윗부분에 위치하는 노드 리프 : 트리의 가장 아랫부분에 위치하는 노드 안쪽 노드 : 리프를 제외한 나머지 노드 자식 : 어떤 노드에서 가지로 연결된 아래쪽 노드 부모 : 어떤 노드에서 가지로 연결된 바로 위쪽 노드 형제 : 부모가 같은 노드 조상 : 어떤 노드에서 위쪽으로 뻗어 나간 모든 노드 자손 : 어떤 노드에서 아래쪽으로 뻗어 나간 모든 노드 레벨 : 루트로부터 얼마나 떨어져 있는지를 나타낸 값 차수 : 노드가 갖는 자식의 수 높이 : 루트에서 가장 멀리 떨어진 리프까지의 거리 서브트리 : 트리 안에서 다시 어떤 노드를 루트로 정하고 그 자손으로 이루어진 트리 널 트리.. 그래프(Graph) 그래프(Graph)란? 정점(vertex) 혹은 노드(node)와 간선(edge)으로 구성된 자료구조 정점과 간선은 위 그림과 같이 간선이 정점을 잇는 형태로 구성된다. 그래프의 종류 무향 그래프(undirected graph) : 간선에 방향이 없는 그래프 하나의 정점이 다른 정점과 방향이 없는 그래프로 이어져 있으면 두 정점이 서로 연결되어 있다는 의미이다. 정점 B가 정점 A와 정점 C와 간선으로 이어져 있고, 정점 B를 거치면 정점 A에서 정점 C까지 이동할 수 있다. 이 경우 정점 A와 정점 C는 연결되어 있다고 한다. 정점 A와 정점 C를 연결하는 길을 경로라고 한다. 방향 그래프(directed graph) : 간선에 방향이 있는 그래프 방향이 있는 간선은 해당 방향으로만 이동할 수 있다. .. 큐(Queue) 큐(Queue)란? 데이터를 일시적으로 쌓아 놓는 자료구조 데이터의 입출력 순서는 선입선출(FIFO: First In First Out)로 양방향의 데이터 흐름을 나타낸다. 큐의 생성 public class IntQueue { int[] que;//큐용 배열 int capacity;//큐의 용량 int front;//맨 앞의 요소 커서 int rear;//맨 뒤의 요소 커서 int num;//현재 데이터 개수 public IntQueue(int maxlen) { num = front = rear = 0; capacity = maxlen; try { que = new int[capacity];//큐 본체용 배열을 생성 } catch (OutOfMemoryError e) {//생성할 수 없음 capacity.. 스택(Stack) 스택(Stack)이란? 데이터를 일시적으로 쌓아 놓는 자료구조 데이터의 입출력 순서는 후입선출(LIFO: Last In First Out)로 단방향의 데이터 흐름을 나타낸다. 스택의 생성 public class IntStack { int[] stk;//스택용 배열 int capacity;//스택 용량 int ptr;//스택 포인터 public Intstack(int maxlen) { ptr = 0; capacity = maxlen; try { stk = new int[capacity];//스택 본체용 배열을 생성 } catch (OutOfMemoryError e) {//생성할 수 없음 capacity = 0; } } } 스택용 배열 stk는 push된 데이터를 저장하는 스택용 배열이다. 인덱스가 0인 구.. 배열(Array) 배열(Array)이란? 같은 자료형의 변수로 이루어진 구성 요소가 모인 것 배열은 다음과 같이 배열 변수를 선언하고, new를 사용하여 배열을 생성한 뒤 배열 변수와 연결해 주는 방식으로 생성할 수 있다. int[] a; a = new int[5]; 배열의 초기화 배열의 구성 요소는 자동으로 숫자는 0, boolean은 false, String은 null로 초기화된다. 배열 본체의 생성과 동시에 각 구성 요소를 특정값으로 초기화하는 방법은 아래와 같다. int[] a = {1, 2, 3, 4, 5}; 배열을 사용하는 이유 package array; public class Array1 { public static void main(String[] args) { int student1 = 90; int st.. 이전 1 다음