목차
💡 주요 키워드 ? 배열, 스택, 그래프, 트리, 정렬, 데이터베이스, DBMS, 스키마, SQL, 트랜잭션
📌 효율적인 프로그램을 작성할 때 가장 우선적 고려사항은 저장 공간의 효율성과 실행시간의 신속성이다.
📌 자료구조는 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 저장된 그룹내에 존재하는 자료 간의 관계, 처리 방법 등을 분석하는 것을 말한다.
📌 배열은 동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합이다.
🔔 예)
arr[0], arrp[1], arr[2] ... arr[n-1]
💡 arr은 변수의 이름이고 [숫자]는 첨자에 해당한다. 하나의 사각형은 하나의 기억장소를 가리키며, arr[0] 부터 a[n-1]까지 총 n개의 기억장소가 존재한다. 아울러 배열의 인덱스는 항상 0으로 부터 시작 한다.
🔔 예) 크이가 n * n인 2차원 배열 arr
arr[0][0], arr[0][1], arr[0][2] ... arr[0][n-1]
arr[1][0], arr[1][1], arr[1][2] ... arr[1][n-1]
arr[2][0], arr[2][1], arr[2][2] ... arr[2][n-1]
..., ..., ..., ... arr[0][n-1]
arr[n-1][0], arr[n-1][1], arr[n-1][2] ... arr[n-1][n-1]
💡 2개의 첨자가 존재하는 2차원 배열로 arr[0][0] 부터 arr[n-1][n-1]까지 총 n x n 개의 기억장소가 존재한다.
📌 선형 리스트는 일정한 순서에 의해 나열된 자료 구조이다.
💡 포인터는 현재의 위치에서 다음 노드의 위치를 알려주는 요소이다.
- 프런트 포인터(F. Front Pointer) : 리스트를 구성하는 최초의 노드 위치를 가리키는 요소
- 널 포인터(Null Pointer, Nil Pointer) : 다음 노드가 없음을 나타내는 포인터로 일반적으로 마지막 노드의 링크 부분에 0, \0 등의 기호를 입력 하여 표시
💡 밀도란 ? 일정한 면적에 무엇이 빽빽하게 들어 있는 정도를 말하는 것이다. 연속 리스트의 기억장소 이용 효율을 '밀도가 1'이라고 표현한 것은 연속 리스트는 기억장소를 연속적으로 배정받아 데이터를 기억하므로 배정된 기억장소를 빈 공간 없이 꽉차게 사용한다는 의미이다.
💡 노드는 자료를 저장하는 데이터 부분과 다음 노드를 가리키는 포인터인 링크 부분으로 구성된 기억 공간이다.
📌 스택은 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조이다.
Top = Top + 1 // 스택 포인터(Top)를 1증가시킨다.
If Top > M Then // 스택 포인터가 스택의 크기보다 크면, 더이상 자료를 삽입할 수 없다.
Overflow // Overflow를 처리한다.
Else // 그렇지 않으면 ..
X(top) <- Item // Item이 가지고 있는 값을 스택의 Top 위치에 삽입한다.
If Top = 0 Then // 스택 포인터가 0이면 스택의 바닥이므로 더이상 삭제할 자료가 없다.
Underflow // Underflow를 처리한다.
Else // 그렇지 않으면 ...
Item <- X(Top) // Top위치에 있는 값을 Item으로 옮긴다.
Top = Top -1 // 스택 포인터를 1감소시킨다.
📌 큐는 리스트의 한쪽에서는 삽입 작업이 이루어지고 다른 한쪽에서는 삭제 작업이 이루어지도록 구성한 자료 구조이다.
📌 그래프 G는 정점 V(Vertex)와 간선 E(Edge)의 두 집합으로 이루어진다.
🔔 예) 정점이 4개인 경우 무방향 그래프와 방향 그래프의 최대 간선 수는 다음과 같다.
💡 무방향 그래프의 최대 간선 수 : 4(4-1)/2 = 6
💡 방향 그래프의 최대 간선 수 : 4(4-1) = 12
📌 데이터 입, 출력 구현 - 정렬(Sort) (0) | 2024.02.01 |
---|---|
📌 데이터 입, 출력 구현 - 트리(Tree) (1) | 2024.02.01 |
📌 인터페이스 설계 - 미들웨어 솔루션 명세 (0) | 2024.02.01 |
📌 인터페이스 설계 - 시스템 인터페이스 설계서 작성 (0) | 2024.02.01 |
📌 인터페이스 설계 - 인터페이스 방법 명세화 (0) | 2024.02.01 |