본문 바로가기
자격증/정보처리기사

[정보처리기사 필기] Part 2 소프트웨어 개발 Chapter 1 데이터 입출력 구현 공부

by Mr.ticket 2023. 12. 11.
728x90
1. 메모

 

노드(Node) : 컴퓨터공학에서 쓰이는 기초적인 단위로, 네트워크에서는 장치나 데이터 지점을 의미

 

컴파일(Compile) : 주어진 언어로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 프로세스

 

관계대수(Relational Algrbra) : 원하는 정보를 어떻게 유도하는가를 연산자와 연산규칙을 이용하여 기술한 절차적 언어

 

관계해석(Relational Calculus) : 원하는 정보가 무엇이라는 것만 정의한 비절차적 언어

 

2. Point

 

자료구조의 구성

 - 선형구조 : 데이터의 전후 항목 사이 관계가 1:1이며, 선후 관계가 명확하게 한 개의 선의 형태를 갖는 리스트 구조

  • 종류 : 배열, 연결 리스트, 스택, 큐, 데크

 

 - 비선형구조 : 데이터 항목 사이의 관계가 1:n(n:m)인 그래프적 특성을 갖는 형태

  • 종류 : 트리, 그래프

 

스택(Stack) : 후입선출(LIFO : Last In First Out) 구조로, 마지막에 삽입한 원소를 제일 먼저 삭제하는 구조

 - 응용 : 수식 계산, 퀵 정렬, 깊이 우선 탐색, 이진 트리 운행 등

 

큐(Queue) : 선입선출(FIFO : First In First Out) 구조로, 제일 먼저 삽입한 원소가 제일 먼저 삭제되는 구조

 - 응용 : 작업 스케줄링, 트리의 레벨 순회, 너비 우선 탐색

 

트리 용어

 - 노드(Node) : 데이터와 링크를 통합적으로 표현

 - Root 노드 : 최상위 노드

 - 단말 노드 : 자식을 가지지 않는 노드

 - 비단말 노드 : 자식을 가지는 노드

 - 노드의 차수(Degree) : 한 노드가 가지고 있는 서브 트리의 수

 - 형제(Sibings) 노드 : 한 부모의 자식 노드

 - 트리의 차수(Degree) : 트리에 있는 노드의 최대 차수

 - 노드의 레벨(Level) : 한 노드의 레벨이 i이면, 자식 노드의 레벨은 i+1

 - 트리의 높이(Height) or 깊이(Depth) : 트리의 최대 레벨

 - 노드의 레벨 순서(Level Order) : 트리의 노드들에 레벨별로 위에서 아래, 왼쪽에서 오른쪽으로 차례로 순서를 매긴 것

 

트리 순회

트리 순회 예시

 - 전위 순회 : A-B-D-E-C-F

 - 중위 순회 : D-B-E-A-C-F

 - 후위 순회 : D-E-B-F-C-A

 

연산 시간 순서

연산 시간 순서

 

선택 정렬(Selection Sort) 예시(초기 상태 : 9-7-1-6-3 / 오름차순)

 - 1회전 : 1-7-9-6-3

 - 2회전 : 1-3-9-6-7

 - 3회전 : 1-3-6-9-7

 - 4회전 : 1-3-6-7-9

 

버블 정렬(Bubble Sort) 예시(초기 상태 : 9-7-1-6-3 / 오름차순)

 - 1회전 : 7-9-1-6-3 / 7-1-9-6-3 / 7-1-6-9-3 / 7-1-6-3-9

 - 2회전 : 1-7-6-3-9 / 1-6-7-3-9 / 1-6-3-7-9 / 1-6-3-7-9

 - 3회전 : 1-6-3-7-9 / 1-3-6-7-9 / 1-3-6-7-9 / 1-3-6-7-9

 

삽입 정렬(Insertion Sort) 예시(초기 상태 : 9-7-1-6-3 / 오름차순)

 - 1회전 : 7-9-1-6-3

 - 2회전 : 7-1-9-6-3 / 1-7-9-6-3

 - 3회전 : 1-7-6-9-3 / 1-6-7-9-3 / 1-6-7-9-3

 - 4회전 : 1-6-7-3-9 / 1-6-3-7-9 / 1-3-6-7-9 / 1-3-6-7-9

 

정렬 알고리즘 복잡도

종류 평균 최악
선택 정렬(Selection Sort) O(n^2) O(n^2)
버블 정렬(Bubble Sort) O(n^2) O(n^2)
삽입 정렬(Insertion Sort) O(n^2) O(n^2)
힙 정렬(Heap Sort) O(nlogn) O(nlogn)
합병 정렬(Merge Sort) O(nlogn) O(nlogn)
퀵 정렬(Quick Sort) O(nlogn) O(n^2)

 

SQL의 종류

종류 관련 명령어
데이터 정의어
(DDL : Data Definition Language)
CREATE, DROP, ALTER, RENAME, TRUNCATE 등
데이터 조작어
(DML : Data Manipulation Language)
SELECT, INSERT, UPDATE, DELETE 등
데이터 제어어
(DCL : Data Control Language)
GRANT, REVOKE 등
트랜잭션 제어어
(TCL : Transaction Control Laguage)
COMMIT, ROLLBACK, SAVEPOINT 등

 

소스 코드 인스펙션 진행 순서

Planning -> Overview -> Preparation -> Meeting -> Re-Work, Re-Inspection -> Following
3. 오답 노트

 

다음 그림에서 트리의 차수(Degree of Tree)는 ?

1. 1

2. 2

3. 4

4. 8

트리의 차수는 해당 트리의 노드 중 가장 차수가 큰 것을 의미하며 이 문제에서는 2가 가장 큰 차수이다.

 

SQL 실행 과정에서 옵티마이저가 생성한 실행 계획을 SQL 엔진이 실제 실행할 수 있는 코드 형태로 포멧팅하는 것은 ?

1. Row-Source Generator

2. Soft Parse

3. Hard Parse

4. Uesr Process

Row-Source Generator에 대한 설명이다.

 

개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
728x90

댓글