정보처리기사 필기 정리 2. 소프트웨어 개발 (1) with.메타코드(메타코드M)

서용준·2024년 12월 2일
post-thumbnail

2-1 데이터 입출력

자료구조(Data Structure)
자료구조는 데이터를 효율적으로 저장하고 관리하기 위해 고안된 체계적인 방법론입니다. 이를 통해 작업 성능을 최적화할 수 있습니다.

  • 선형 구조: 데이터를 순서대로 저장하며, 대표적으로 리스트, 스택(Stack), 큐(Queue), 데크(Deque)가 있습니다.
  • 비선형 구조: 계층적 또는 복잡한 관계를 가진 트리(Tree)와 그래프(Graph) 등이 포함됩니다.

리스트

  • 데이터를 순차적으로 저장하며, 배열과 연결 리스트로 구현할 수 있습니다. 배열은 메모리 연속성을 가지며, 연결 리스트는 포인터를 통해 요소를 연결합니다.

스택(Stack)

  • 데이터를 삽입(Push)하거나 삭제(Pop)할 때 항상 마지막에 추가된 데이터부터 작업하는 구조입니다. 후입선출(LIFO, Last In First Out) 원칙을 따르며, 함수 호출, 재귀 처리 등에 사용됩니다.

큐(Queue)

  • 한쪽 끝에서 삽입 작업이, 반대쪽 끝에서 삭제 작업이 이루어지는 자료구조로, 선입선출(FIFO, First In First Out) 원칙을 따릅니다. 작업 스케줄링 등에 활용됩니다.

데크(Deque)

  • 양방향으로 삽입과 삭제가 가능한 자료구조로, 유연하게 데이터를 처리할 수 있습니다.

그래프(Graph)

  • 정점(Node)와 이를 연결하는 간선(Edge)으로 이루어진 구조입니다.
    • 방향 그래프: 간선에 방향이 있으며, 단방향 연결을 표현합니다.
    • 무방향 그래프: 간선에 방향이 없으며, 쌍방향 연결을 나타냅니다.

트리(Tree)

  • 그래프의 특수한 형태로, 계층적 구조를 가지며 정점 사이에 순환이 없습니다.
    • 차수: 각 노드가 가진 자식 노드의 개수를 뜻하며, 트리의 전체 차수는 가장 많은 자식을 가진 노드의 자식 수로 결정됩니다.
    • 트리는 전위, 중위, 후위 순회 방식을 통해 탐색할 수 있습니다.

탐색 방식

  • 깊이 우선 탐색(DFS): 가능한 깊이까지 내려간 후 다른 경로를 탐색합니다.
  • 너비 우선 탐색(BFS): 같은 계층의 모든 노드를 탐색한 후 다음 계층으로 이동합니다.

트리 종류

  • 이진 탐색 트리(BST): 왼쪽 자식은 부모보다 작은 값, 오른쪽 자식은 부모보다 큰 값을 갖는 트리입니다.
  • AVL 트리, 레드-블랙 트리: 자가 균형 유지로 효율적인 탐색을 지원하는 트리입니다.

중위식, 전위식, 후위식 표현

  • 연산자의 위치에 따라 수식을 중위식(Infix), 전위식(Prefix), 후위식(Postfix)으로 표현할 수 있습니다.

https://metacodes.co.kr/edu/read2.nx?M2_IDX=31635&EP_IDX=15203&EM_IDX=15027

profile
공부하는중입니다.

0개의 댓글