자료 구조의 필요성


자료 구조를 모른다고해서 프로그램을 만들지 못하는 것은 아닙니다. 예를 들자면, 자료 구조(Data structure)를 모르는 것은 건축으로 보면 설계도를 볼 줄 모르고 집을 짓는 것이고 요리로 본다면 레시피를 이해하지 못하고 요리를 하는 것과 같다고 생각합니다. 하지만, 간단한 건축물이나 요리는 해냈을지 몰라도 빌딩이나 고급 요리들을 설계도와 레시피 없이 성공하기란 불가능에 가깝습니다. 따라서, 자료 구조도 위 경우와 같은 맥락이라고 봅니다. 개발자가 생각하고 있는 논리를 컴퓨터 언어로 효율적이게 표현 할 수 있고 이미 만들어진 프로그램을 보고 이해할 수 있게 해주는 중요한 역할을 하고 있다고 생각합니다. 

'Internet & Server' 카테고리의 다른 글

이진트리 운행법  (0) 2018.10.22
데이터베이스의 논리적 모델  (0) 2018.10.22
데이터 모델링  (0) 2018.10.22
mysql 명령어 모음  (0) 2018.10.11
Server란?  (0) 2018.10.10

공통 그림



     A

    B                  C

D              E       F            G

H        I


1.preorder(전위운행) 

preorder는 트리를 root -> left -> right 순으로 운행합니다.

따라서, A>B>D>H>I>E>C>F>G 순으로 운행됩니다.


2.inorder(중위운행)

inorder는  트리를  left -> root -> rigth 순으로 운행합니다.

따라서, H>D>I>B>E>A>F>C>G 순으로 운행됩니다.


3.postorder(후위운행)

postorder는 트리를 left -> right-> root 순으로 운행합니다.

따라서, H>I>D>E>B>F>G>C>A

'Internet & Server' 카테고리의 다른 글

자료 구조의 필요성  (0) 2018.10.22
데이터베이스의 논리적 모델  (0) 2018.10.22
데이터 모델링  (0) 2018.10.22
mysql 명령어 모음  (0) 2018.10.11
Server란?  (0) 2018.10.10

1. 관계 데이터 모델


관계 데이터 모델은 데이터를 2차원 테이블 형태인 릴레이션(릴레이션 스키마와 릴레이션 인스턴스)으로 표현됩니다. 간단하게 말하자면 튜플의 집합이라고 할 수 있습니다. 릴레이션에 대한 제약조건(도메인 제약, 기본키 제약, 외래키 제약)과 관계 연산을 위한 관계 대수(연산의 집합)를 정의합니다. 

관계 데이터 모델이 적용된 SQL언어는 비절차적 언어로 원하는 데이터를 쉽게 표현한다는 장점이 있습니다. 또한, 계층형 데이터 모델과 네트워크형 데이터 모델을 보완된 모델로 현재까지 가장 이상적인 모델입니다. 

관계 데이터 모델로는 우리 주변에서 가장 쉽게 접할 수 있는 Mysql, MongoDB, MariaDB 등이 있씁니다.


2.네트워크 데이터 모델


네트워크 데이터 모델은 계층 데이터 모델을 보완하여 데이터를 그래프로 이용해 데이터 논리 구조를 표현합니다. 또한, 레코드 타입과 링크들의 집합으로 구성되어 있습니다. 상위 하나의 레코드에 대하여 하위레코드가 복수 대응하고, 하위 하나의 레코드에 상위 레코드도 복수 대응합니다. 따라서, 1:1 1:N, N:M과 같은 레코드의 관계가 됩니다.  대표적으로 DBTG, EDBS, TOTAL 등이 있습니다.



3.계층 데이터 모델


계층 데이터 모델은 트리 구조로 표현됩니다. 개체는 노드로 ㅍ현하고 개체 집합들 사이의 관계는 부모 자식간의 관계, 링크로 표현합니다. 트리 구조이기때문에 네트워크 데이터 모델과는 다르게 1:N으로만 표현이 가능합니다.


'Internet & Server' 카테고리의 다른 글

자료 구조의 필요성  (0) 2018.10.22
이진트리 운행법  (0) 2018.10.22
데이터 모델링  (0) 2018.10.22
mysql 명령어 모음  (0) 2018.10.11
Server란?  (0) 2018.10.10

+ Recent posts