그래프의 정의 - 그래프 G는 정점 V(Vertex)와 간선 E(Edge)의 두 집합으로 이루어짐 - 통신망(Network), 교통망, 이항관계, 연립방정식, 유기화학 구조식, 무향선분 해법 등에 운용됨 - Tree는 사이클이 없는 Graph임 용어 정리 - Loop : 한 정점에서 그 자신에 이어지는 간선 Loop - 차수(Degree) * 무방향 그래프 : 한 정점에 연결된 간선의 수 * 방향 그래프 - 진입 차수(Indegree) : 한 정점에 도착하는 방향 간선의 수 - 진출 차수(Outdegree) : 한 정점에서 출발하는 방향 간선의 수 - 차수(Degree) = 진입 차수 + 진출 차수 - 예 ) * G1 그래프에서 Degree(1) = 3 * G3 그래프에서 Indegree(2) = 1 O..
이진 트리의 운행법(Traversal) 개요 - 트리를 구성하는 각 노드들을 찾아가는 방법을 운행법(Traversal)이라 함 - 이진 트리를 운행하는 방법은 산술서의 표기법과 연관성을 가짐 ★★ 이진 트리의 운행법 - Preorder 운행 : Root → Left →Right 순으로 운행함 / A, B, C - Inorder 운행 : Left → Root → Right 순으로 운행함 / B, A, C - Postorder 운행 : Left → Right → Root 순으로 운행함 / B, C, A ※ 이진 트리 운행법의 이름은 Root의 위치가 어디 있느냐에 따라 정해진 것이다. 즉 Root가 앞(Pre)에 있으면 Preorder, 안(In)에 있으면 Inorder, 뒤(Post)에 있으면 Prosto..
이진 트리의 정의 - 이진 트리 : 차수(Degree)가 2 이하인 노드들로 구성된 트리, 즉 자식이 둘 이하인 노드들로만 구성된 트리 이진 트리의 특성 - 이진 트리의 레벨 i에서 최대 노드의 수는 이다 - 이진 트리에서 Terminal Node(단말 노드, 잎 노드) 수가 , 차수가 2이 노드 수가 라 할 때 이 된다 이진 트리의 종류 - 정이진 트리(Full Binary Tree) * 정어진 트리는 깊이(Depth)가 k일 때 전체 노드의 수가 1개의 노드이고, 레벨 i마다 개의 노드들로 꽉 찬 트리를 말함 - 전이진 트리(Complete Binary Tree) * 노드의 수가 n개일 때, 정이진 트리의 각 노드에 붙인 1 ~ n의 일련번호와 1:1 대응되는 트리 * 중간에 빈 부분이 있으면 전이진..
트리의 정의 - 트리 : 정점(Node, 노드)과 선분(Branch, 가지)을 이용하여 사이클을 이루지 않도록 구성한 Graph의 특수한 형태 - 가족의 계보(족보), 연산 수칙, 회ㅏ 조직 구조도, 히프(Heap) 등을 표현하기에 적합함 트리 관련 용어 - 노드(Node) : 트리의 기본 요소로서 자료 항목과 다른 항목데 대한 가지(Branch)를 합친 것 * 예 ) A, B, C, D, E, F, G, H, I, J, K, L, M - ★ 근 노드(Root Node) : 트리의 맨 위에 있는 노드 * 예 ) A - ★ 디그리(Degree, 차수) : 각 노드에서 뻗어 나온 가지의 수 * 예 ) A = 3, B = 2, C = 1, D = 3 - ★ 단말 노드(Terminal Node) = 잎 노드(L..
★★ 큐(Queue) - 선형 리스트의 한쪽에서는 삽입 삭업이 이루어지고 다른 한쪽에서는 삭제 작업이 이루어지도록 구성한 자료임 - 가장 먼저 삽입된 자료가 가장 먼저 삭제되는 선입선출(FIFO : First In First Out) 방식으로 처리 - 시작과 끝을 표시하는 두 개의 포인터가 있음 - 프런트(F, Front) 포인터 * 가장 먼저 삽입된 자료의 기억공간을 가리키는 포인터임 * 삭제 작업을 할 때 사용함 - 리어(R, Rear) 포인터 * 가장 마지막에 삽입된 자료가 위치한 기억장소를 가리키는 포인터임 * 삽입 작업을 할 때 사용함 - Queue의 응용 분야 * 창구 업무나 택시 정거장처럼 서비스 순서를 기다리는 등의 대기 행렬의 처리에 사용함 * 운영업체의 작업 스케줄링에 사용함 데크(De..
★★ 스택의 개념 - 스택 : 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조 - 스택은 가장 나중에 삽입된 자료가 가장 먼저 삭제된느 후입선출(LIFO : Last In First Out) 방식으로 자료를 처리함 - TOP * Stack으로 할당된 기억 공간에 가장 마지막으로 삽입된 자료가 기억된 위치를 가리키는 요소 * 스택 포인터(SP, Stack Pointer)라고도 함 - Bottom : 스택의 가장 밑바닥이다 자료의 삽입(Push) 123456TOP = TOP + 1 If TOP > M Then OverflowElse X(Top) ← Itemcs 스택 포인터(Top)를 1증가시킨다스택 포인터가 스택의 크기보다 크면 Overflow그렇지 않으면 Item이 가지고 있는 값을..
선형 리스트(Linear List) - 선형 리스트는 ★ 배열과 같이 연속되는 기억장소에 저장되는 리스트를 말함 - 연접 리스트(Dense List 또는 축차(순차) 구조(Sequential Structure)라고도 함 - 선형 리스트의 대표적인 구조 : 배열(Array) - 특징 * 가장 간단한 자료 구조임 * 접근 속도가 빠름 * 중간에 자료를 삽입하기 위해서는 연속된 빈 공간이 있어야 함 * 기억장소를 연속적으로 배정받기 때문에 기억장소 이용 효율은 밀도가 1로서 가장 좋음 * 자료의 개수가 n개일 때 삽입 시의 평균 이동 횟수는 (n+1)/2이고, 삭제 시에는 (n-1)/2이다 연결 리스트(Linked List) - 연결 리스트 : 자료들을 반드시 연속적으로 배열시키지는 않고 임의의 기억공간에 기..
분산 데이터베이스의 정의 - 분산 데이터베이스는 논리적으로 하나의 시스템에 속하지만 물리적으로 네트워크를 통해 연결된 여러 개의 컴퓨터 사이트(Site)에 분산되어 있는 데이터베이스를 말함 - 분산 데이터베잇느느 데이터의 처리나 이용이 많은 지역에 데이터베이스를 위치시킴으로써 데이터의 처리가 가능한 해당 지역에서 해결될 수 있도록 함 분산 데이터베이스의 구성 요소 - 분산 처리기 : 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴픁터 시스템을 말함 - 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성됨 - 통신 네트워크 : 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템으로 작동할 수 있도록 하는 통신 네트워크를 말함 분산..