자격증/정보처리기사

필기 - 2. 소프트웨어 개발_ch1. 데이터 입출력 구현

권동동 2024. 7. 3. 11:09

1. 논리 데이터 저장소 확인

(1) 자료 구조

1️⃣ 자료 구조의 개념

  • 자료 구조는 컴퓨터상 자료를 효율적으로 저장하기 위해 만들어진 논리적인 구조

2️⃣ 자료 구조의 분류

구조 설명 종류
선형 구조 데이터를 연속적으로 연결한 자료 구조 리스트, 스택, 큐, 데크
비선형 구조 데이터를 비연속적으로 연결한 자료 구조 트리, 그래프

3️⃣ 선형 구조

① 리스트

  • 선형 리스트와 연결 리스트가 존재

② 스택

  • LIFO 형식
PUSH 삽입 연산
POP 삭제 연산

 

③ 큐

  • 한쪽에서 삽입, 반대쪽에서는 삭제
  • FIFO 형식
  • Head(삭제에서 가장 가까운 데이터) - Tail(입력에서 가장 가까운 데이터)
ENQUEUE 삽입 연산
DEQUEUE 삭제 연산

 

④ 데크

  • 큐의 양쪽 끝에서 삽입, 삭제를 할 수 있음
  • 큐 2개 중 1개를 뒤집은 느낌
  • 데크를 이용해 큐, 스택 구현 가능
PUSH 삽입 연산
POP 삭제 연산

 

4️⃣ 비선형 구조

① 트리

  • 트리는 데이터들을 계층화시킨 자료 구조
  • 인덱스를 조작하는 방법
  • 노드의 상한성이 없다
  • 레벨 - 루트 노드를 기준으로 특정 노드까지의 경로 길이
  • 깊이 - 루트 노드를 기준으로 특정 노드까지의 간선의 수
  • 차수 - 자식 노드의 수

② 트리 순회방법

  • 전위 순회 - CLR
  • 중위 순회 - LCR
  • 후위 순회 - LRC

③ 트리 종류

  • 이진 탐색 트리
    • 자식이 둘 이하로 구성된 트리
    • 부모 노드보다 작은 값 L, 큰 값 R
  • AVL 트리
    • 두 자식 서브 트리의 높이는 항상 최대 1만큼 차이가 나도록 균형 잡힌 이진 탐색 트리
  • 2-3 트리
    • 차수가 2 또는 3인 내부 노드를 갖는 탐색트리
  • 레드-블랙 트리
    • 색깔에 따른 규칙이 있는 이진 탐색 트리

④ 그래프

  • 개념
    • 그래프는 노드와 노드를 연결하는 간선을 하나로 모아 놓은 자료 구조
  • 유형
    • 방향 그래프 - 최대 간선 수 n(n-1)
    • 무방향 그래프 - 최대 간선 수 n(n-1)/2
  • 그래프 용어
    • 경로
    • 경로 길이
    • 단순 경로
    • 사이클
  • 그래프 탐색 방법
    • 깊이 우선 탐색 DFS - 최대한 깊이 내려간 뒤, 더 이상 깊이 갈 곳이 없을 경우 옆으로 이동
    • 넓이 우선 탐색 BFS - 최대한 넓게 이동한 다음, 더이상 갈 수 없을 때 아래로 이동