3. 자료처리/자료구조

자료구조

SWExpert 2022. 7. 19. 22:13

1. 정의

자료를 컴퓨터의 기억장치 내에 저장하는 방법

다양한 자료를 효율적으로 표현하고 활용할 수 있도록 자료의 특성과 사용 용도를 고려하여 조직적, 체계적으로 정의한 것

 

2. 분류

선형구조: 자료가 일렬로 연결되어 있는 형태로 구성하는 방법

비선형구조: 자료의 구성이 계층구조나 망구조의 특별한 형태를 띠는 구조

[자료구조의 분류]

분류 설명
선형구조 자료들간의 순서 고려한 구조, 전후, 인접, 선후, 자료들간의 1:1 관계로 나열
배열, 선형리스트, 연결리스트, 스택, 큐, 데크
비선형구조 인접, 전후 자료들 간의 1:다, 다:다 관계로 배치
트리, 그래프

 

 

구분 순차자료구조 연결자료구조
메모리저장방식 자료를 연속적으로 저장 물리적 위치에 상관없이 링크에 의해 논리적인 순서를 표현
논리/물리 순서 일치여부 논리적 순서와 물리적 순서 일치 논리적 순서와 물리적 순서 비일치
연산특징 삽입, 삭제 연산시에도 순서대로 연속저장 삽입, 삭제 연산으로 논리적 순서 변경시에도 물리적 순서는 변경없음
프로그램기법 배열을 이용한 구현 포인터를 이용한 구현

 

3 스택과 큐

가)스택

 

나) 큐

 

 

다) 스택, 큐 연산 비교

구분 항목 스택
삽입연산 연산자 push enQueue
삽입위치 top rear
삭제연산 연산자 pop deQueue
삭제위치 top front

4. 트리와 그래프

가. 트리

나. 그래프

 

5. 자료구조의 선택기준

가. 자료의 처리시간

나. 자료의 크기

다. 자료의 활용빈도

라. 자료의 갱신정도

마. 프로그램의 용이성

 

5. 자료구조의 활용

가. 리스트: 배열, DBMS 인덱스, 탐색, 정렬

나. 스택: 인터럽트처리, 재귀프로그램의 순서제어, 서브루틴의 복귀 번지 저장, 후위 표기법으로 표현된 수식의 연산, 텍스트 에디터 undo기능

다. 큐: OS 작업스케쥴링, 대기 행렬처리, 비동기 데이터교환(파일, pipes, sockets), 키보드의 버퍼이용, 스풀 운용 등

라. 데크: 스택과 큐의 장점만 활용한 자료구조, 

마. 트리: 탐색, 정렬, 문법파싱, 허프만코드, 결정트리, 게임

바. 그래프: 컴퓨터네트워크(근거리통신망, 인터넷, 웹), 전기회로분석, 이항관계, 연립방정식