Self-Development/Study

2022년 정보처리기사 필기 - 필수 내용 보충 정리

JeongKyun 2022. 3. 4.

-- 높은 빈도로 출제되는 개념들은 많지만 그 중 내가 헷갈리고 뭔가 부족하다 싶은 개념들만 정리 --

 

1. UML

-> 분석, 설계, 구현 등 시스템 개발 과정에서 고객과 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 모델링 언어이다.

 

구성요소

사물(Things), 관계(Relationships), 다이어그램(Diagram)

 

다이어그램

1) 구조적 다이어그램

- 클래스 다이어그램

- 객체 다이어그램

- 컴포넌트 다이어그램

- 배치 다이어그램 (Deployment - )

- 복합체 다이어그램 (Composite Structure - )

- 패키지 다이어그램 

<클 객 컴 배 복 패>

 

2) 행위 다이어그램

- 유스케이스 다이어그램

- 시퀀스 다이어그램

- 커뮤니케이션 다이어그램

- 상태 다이어그램

- 활동 다이어그램

- 상호작용 개요 다이어그램

- 타이밍 다이어그램

<유 시 커 상 활 상 타>

 

2. FIFO

 

 

3. 후위 / 전위 / 중위 연산자 

 

4. 정렬

1) 삽입 정렬 O(n^2)

: 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다.

초기 : 8 5 6 2 4

1 :  8 5 6 2 4 -> 5 8 6 2 4

2 : 5 8 6 2 4 -> 5 6 8 2 4

3 : 5 6 8 2 4 -> 2 5 6 8 4

4 : 2 5 6 8 4 -> 2 4 5 6 8

 

2) 선택 정렬 O(n^2)

: n개의 레코드 중에서 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최솟값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식이다.

초기 : 8 5 6 2 4

1 : 5 8 6 2 4 -> 5 8 6 2 4 -> 2 8 6 5 4 -> 2 8 6 5 4

2 : 2 6 8 5 4 -> 2 5 8 6 4 -> 2 4 8 6 5

3 : 2 4 6 8 5 -> 2 4 5 8 6

4 : 2 4 5 6 8

 

3) 버블 정렬 O(n^2)

: 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식이다.

초기 : 8 5 6 2 4

1 : 5 8 6 2 4 -> 5 6 8 2 4 -> 5 6 2 8 4 -> 5 6 2 4 8

2 : 5 6 2 4 8 -> 5 2 6 4 8 -> 5 2 4 6 8

3 : 2 5 4 6 8 -> 2 4 5 6 8

4 : 2 4 5 6 8

 

4) 퀵정렬

: 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬하는 방법

평균 수행 시간 복잡도 : O(nlog2N)

최악 : O(n^2)

 

5) 힙정렬

: 전이진 트리를 이용한 정렬방식이다.

평균 수행 시간 복잡도 : O(nlog2N)

최악 : O(nlog2N)

 

5) 2-Way 합병 정렬

: 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬방식

평균 수행 시간 복잡도 : O(nlog2N)

최악 : O(nlog2N)

 

6) 기수정렬(Radix Sort) (버킷정렬)

평균 수행 시간 복잡도 : O(dn)

최악 : O(dn)

반응형

댓글

💲 많이 본 글