SECTION 036 자료 구조
(1) 자료 구조의 정의
(2) 자료 구조의 분류
선형 구조 : 배열, 선형 리스트(연속 리스트, 연결 리스트), 스택, 규, 데크
비선형 구조 : 트리, 그래프
(3) 배열(Array)
동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합이다.
배열은 첨자(0부터 시작) 이용하여 데이터에 접근한다.
배열은 사용한 첨자의 개수에 따라 n차원 배열이라고 부른다.
(4) 선형 리스트
연속 리스트(Contiguous List)
연결 리스트(Linked List)
연속적으로 배열시키지는 않고 포인터 부분을 이용하여 서로 연결시킨 자료 구조이다. 포인터 부분을 이용하여 서로 연결시킨 자료 구조이다.
노드의 삽입 삭제 작업이 용이하다.
링크(포인터) 부분이 필요하기 때문에 순차 리스트에 비해 기억 공간의 이용 효율이 좋지 않다.(더 많은 이용 공간을 필요로 한다.)
포인터를 찾는 시간이 필요하기 때문에 접근 속도가 느리다.
중간 노드 연결이 끊어지며, 노드를 찾기 힘들다.
(5) 스택(Stack)
후입선출(LIFO; Last In First Out) 방식으로 자료를 처리한다.
모든 기억 공간이 꽉 채워져 있는 상태에서 데이터가 삽입되면 오버플로우(Overflow)가 발생한다.
스택 사용하는 경우
1. 서브루틴(함수=메소드) 사용시
2. 인터럽트(에러 중단)
3. 후위표기 연산(POSTFIX)
(6) 큐(Queue)
선입선출(FIFO; First In First Out) 방식으로 자료를 처리한다.
사용예) 1. 은행 대기순번표 2. 운영체제 스케쥴링
SECTION 037 트리(Tree)
(1) 트리의 개요
단말 노드 : 자식이 하나도 없는 노드, 즉 디그리가 0인 노드
(2) 트리의 운행법
Preorder 운행(전위 운행, 루트가 맨 앞) : Root -> Left -> Right 순으로 운행한다. A, B, C
Inorder 운행 : Left -> Root -> Right 순으로 운행한다. B, A, C
Postorder 운행 : Left -> Right -> Root 순으로 운행한다. B, C, A
(3) 수식의 표기법
전위 표기법(PreFix) : 연산자 -> Left -> Right
중위 표기법(InFix) : Left -> 연산자 -> Right
후위 표기법(PostFix) : Left -> Right -> 연산자, AB+
Infix(일반적) 표기를 Postfix나 Prefix로 바꾸기
SECTION 038 정렬
(1) 삽입 정렬
가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다.
두번째 키와 첫번째 키를 비교하고(1회전) 세번째 키를 첫번째 두번째 키와 비교해 순서대로 나열(2회전)하고 n번째 키를 n-1개의 키와 비교하여 알맞은 순서에 삽입하여 정렬하는 방식이다.
(3) 선택 정렬(Selection Sort)
선택 정렬은 n개의 레코드 중에서 최솟값을 찾아 첫번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최솟값을 찾아 두번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
(4) 버블 정렬
버블 정렬은 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식이다.
SECTION 039 데이터베이스 개요
(2) 데이터베이스
통합된 데이터 : 자료의 중복을 배제한 데이터의 모임이다.
저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다.
운영 데이터 : 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료이다.
공용 데이터 : 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료이다.
(3) DBMS(DataBase Management System; 데이터 베이스 관리 시스템)
DBMS란 사용자와 데이터베이스 사이에서 사용장의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어이다.
DBMS의 필수 기능에는 정의, 조작, 제어 기능이 있다.
(4) DBMS의 장/단점
단점 : 파일의 예비(Backup)와 회복(Recovery)이 어렵다.
(5) 스키마
스키마는 데이터베이스 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술(Description)한 메타데이터(Meta-Data)의 집합이다.
외부 스키마(서브 스키마) | 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다. |
개념 스키마 | 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다. |
내부 스키마 | 물리적 저장장치의 입장에서 본 데이터베이스 구조로서, 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서등을 나타낸다. |
SECTION 040 데이터 입/출력
(3) 데이터 접속(Data Mapping)
ORM(Object-Relational Mapping) : 객체지향 프로그래밍의 객체(Object)와 관계형(Relational) 데이터베이스의 데이터를 연결(Mapping)하는 기술로 관련 프레임워크에는 JPA, Hibernate, Django 등이 있다.
'자격증 > 정보처리기사 필기' 카테고리의 다른 글
정보처리기사 필기 요약 2과목 소프트웨어 개발 - 3장 제품 소프트웨어 패키징 (0) | 2021.08.07 |
---|---|
정보처리기사 필기 요약 2과목 소프트웨어 개발 - 2장 통합 구현 (0) | 2021.08.07 |
정보처리기사 필기 요약 1과목 소프트웨어 설계 - 4장 인터페이스 설계 (0) | 2021.08.06 |
정보처리기사 필기 요약 1과목 소프트웨어 설계 - 3장 애플리케이션 설계 (0) | 2021.07.28 |
정보처리기사 필기 요약 1과목 소프트웨어 설계 - 2장 화면 설계 (0) | 2021.07.28 |