목록배열 (3)
MyCloud
자료구조 - 트리, 이진트리 트리는 부모-자식 관계의 노드들로 이루어지며 계층적인 구조를 나타내는 자료구조입니다. 운영체제의 파일시스템, HTML, XML 등을 다룰 때 사용하는 DOM, 데이터베이스 등 다양하게 활용되고 있습니다. 트리구조에서 중요한 것은 부모는 여러 자식을 가질 수 있지만 자식은 하나의 부모를 갖는다는 것입니다. 이진트리는 각 노드가 최대 2개의 자식을 가지는 트리를 말합니다. 위의 그림은 포화이진트리 구조입니다. 모든 노드가 2개의 자식을 갖기 때문입니다. 트리의 최상단 노드를 뿌리, 즉 루트(Root)라고 합니다. 루트로부터 어떤 노드까지의 거리를 그 노드의 깊이(Depth)라 하고 깊이가 같은 노드끼리의 집합을 레벨(Level)이라 합니다. 같은 부모를 가진 노드들을 형제(Sib..
자료구조 - 큐 큐는 먼저 들어온 데이터가 먼저 나가는 선입선출(LIFO) 구조입니다.큐에는 삽입(ENQUEUE) 연산과 삭제(DEQUEUE) 연산이 존재하는데삽입의 경우 가장 마지막 위치(Rear)에 쌓이게 되며삭제의 경우 가장 먼저 들어온 데이터, 즉 Front 에 위치한 데이터가 삭제 됩니다.예를 들면, 줄을 서서 물건을 받는 경우를 생각하시면 됩니다! JAVA로 Queue 구현 큐를 구현하는 방법은 2가지가 있습니다.배열을 이용한 큐와 연결리스트를 이용한 큐입니다.먼저 배열을 이용한 큐의 구현입니다. 12345678910111213public class CQueueArray { private int front; private int rear; private int maxSize; private O..
자료구조 - 스택 스택은 가장 최근에 들어온 데이터가 가장 먼저 나가는 후입선출(LIFO) 구조입니다.스택에는 삽입(PUSH) 연산과 삭제(POP) 연산이 존재하는데삽입의 경우 가장 높은 위치(TOP)에 쌓이게 되며삭제의 경우 가장 마지막에 들어온 데이터, 즉 TOP에 위치한 데이터가 삭제 됩니다. JAVA로 Stack 구현 스택을 구현하는 방법은 2가지가 있습니다.배열을 이용한 스택과 연결리스트를 이용한 스택입니다.먼저 배열을 이용한 스택 구현입니다. 123456789101112public class CStackArray { private int top; private int maxSize; private Object[] stackArray; // 최대 크기로 배열 생성 public CStackArra..