목차 데이터 저장소 📌 데이터저장소는 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미한다. 데이터저장소는 논리 데이터저장소와 물리 데이터자장소로 구분된다. 논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것을 의미한다. 물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장한 것을 의미한다. 논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정은 데이터베이스를 구축하는 과정과 동일하다. 데이터베이스 📌 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정..
목차 이분 검색 이분 검색(이진 검색, Binary Search)은 전체 파일을 두 개의 서브파일로 분리해 가면서 Key 레코드를 검색하는 방식이다. 이분 검색은 반드시 순서화된 파일이어야 검색할 수 있다. 찾고자 하는 Key 값을 파일의 중간 레코드 Key 값과 비교하면서 검색한다. 비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어듦으로 탐색 효율이 좋고 탐색 시간이 적게 소요된다. 중간 레코드 번호 M = (F+L)/2 (단, F : 첫 번째 레코드 번호, L : 마지막 레코드 번호) 🔔 예) 1~100 까지의 숫자 중 15를 찾는 데 걸리는 횟수는? ① 첫 번째 값(F)과 마지막 값(L)을 이용하여 중간 값 M을 구하여 찾으려는 값과 비교한다. M = (1+100)/2 = 5..
목차 트리의 개요 📌 트리는 정점(Node, 노드)과 선분(Branch, 가지)을 이용하여 사이클을 이루지 않도록 구성한 그래프(Graph)의 특수한 형태이다. 트리는 하나의 기억 공간을 노드(Node)라고 하며, 노드와 노드를 연결하는 선을 링크라고 한다. 트리는 가족의 계보(족보), 조직도 등을 표현하기에 적합하다. 트리 관련 용어 노드(Node) : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지(Branch)를 합친 것 🔔 예) A, B C, D, E, F, G, H, I, J, K, L, M 근 노드(Root Node) : 트리의 맨 위에 있는 노드 🔔 예) A 디그리(Degree, 차수) : 각 노드에서 뻗어 나온 가지의 수 🔔 예) A = 3, B = 2, C = 1, D = 3 단..
목차 💡 주요 키워드 ? 배열, 스택, 그래프, 트리, 정렬, 데이터베이스, DBMS, 스키마, SQL, 트랜잭션 자료 구조의 정의 📌 효율적인 프로그램을 작성할 때 가장 우선적 고려사항은 저장 공간의 효율성과 실행시간의 신속성이다. 📌 자료구조는 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 저장된 그룹내에 존재하는 자료 간의 관계, 처리 방법 등을 분석하는 것을 말한다. 자료 구조는 자료의 표현과 그것과 관련된 연산이다. 자료 구조는 일련의 자료들을 조직하고 구조화하는 것이다. 어떠한 자료 구조에서도 필요한 모든 연산들을 처리할 수 있다. 자료 구조에 따라 프로그램 실행시간이 달라진다. 자료 구조의 분류 배열 (Array) 📌 배열은 동일한 자료형의 데이터들이 같은 크기로 나..