트리: 그래프의 한 종류로 사이클이 없어서 계층적 관계를 표현- 루트 노트: 부모 노드가 없는 노드- 부모 노드: 루트 노드 방향으로 연결된 노드- 자식 노드: 루트 노드의 반대 방향으로 연결된 노드- 단말 노드: 자식 노드가 없는 노드- 형제 노드: 부모 노드가 같은 노드- 레벨: 루트 노드로부터 노드의 상대적 위치를 의미- 높이: 트리의 최대 레벨 + 1- 차수: 자식 노드의 개수를 의미 *이진 트리: 자식 노드가 최대 2개인 트리① 완전 이진 트리: 마지막 레벨을 제외한 모든 레벨에 노드가 채워져 있음② 포화 이진 트리: 마지막 레벨까지 노드가 모두 채워져 있는 이진 트리③ 이진 탐색 트리: 왼쪽 서브 트리는 해당 노드의 값보다 작은 값을 가진 노드로 구성되고, 오른쪽 서브 트리는 해당 노드의 값..
분류 전체보기
비선형 자료구조: 하나의 데이터 뒤에 N개의 데이터가 이어질 수 있는, 1:N 또는 N:N 구조로 데이터가 나열되는 자료구조 -> 계층적 구조를 나타내기 편리함, 하나하나 탐색하지 않아도 됨 ※ 그래프 ※ - 인접: 두 장점이 간선으로 연결되어 있으면 인접하다고 함- 차수: 정점에 연결된 간선의 수 (B의 차수는 3)- 진입 차수: 해당 정점으로 향하는 간선의 수- 진출 차수: 해당 정점에서 나가는 간선의 수- 경로: 한 정점에서 다른 정점으로 이어지는 정점들의 리스트- 경로 길이: 경로를 구성하는 간선의 수- 단순 경로: 모두 다른 정점으로 구성된 경로- 사이클: 한 정점에서 시작해 같은 정점으로 돌아올 수 있는 경로*그래프의 종류① 무방향 그래프: 간선에 방향성이 없는 그래프, (A, B)와 (B, ..
선형 자료구조: 연속적으로 데이터가 나열되는 자료구조 배열: 정해진 크기만큼 데이터가 일렬로 저장되는 정적 자료구조접근 시간 복잡도 -> O(1)검색 시간 복잡도 -> O(n)삽입 시간 복잡도 -> O(n)삭제 시간 복잡도 -> O(n) 연결리스트: 크기가 정해져 있지 않은 동적 자료구조검색 시간 복잡도 -> O(n)삽입 시간 복잡도 -> O(n)삭제 시간 복잡도 -> O(n) 스택: 데이터를 쌓는 형태로, LIFO 자료구조 큐: 데이터가 순차적으로 들어오는 형태, FIFO 자료구조
1. 데이터베이스① 여러 사용자 및 프로그램에서 사용하기 위해 저장 및 관리하는 데이터 집합② 구성 요소- 개체 (entity, 엔터티): 데이터로 표현하려는 대상- 속성 (attribute): 개체의 특성 및 상태- 관계(relationship): 개체 간 관계 2. 관계형 데이터베이스① 테이블을 이용해 데이터의 종속성과 구조를 나타내는 데이터베이스② 용어- 스키마(schema): 데이터의 구조와 표현 방식, 제약 조건 등을 정의해 데이터베이스의 전체적인 구조를 나타냄- 릴레이션(relation): 데이터베이스에서 데이터의 개념적 모델- 테이블(table): 릴레이션을 실제로 구현한 개체로, 행과 열로 관계형 데이터베이스를 구성함- 튜플(tuple): 테이블의 행에 해당하는 데이터 묶음으로, 레코드라고..
조인: 여러 테이블을 합쳐 원하는 테이블을 얻는 작업 *조인 연산- ON: 조건절을 작성할 때 사용하는 연산자- USING: 공통되는 속성명을 작성해 조건 설정- WHERE: 테이블 조회를 위한 조건절 작성- IN: IN 뒤에 조건을 설정- BETWEEN: 특정 범위에 속하는 데이터 조회- LIKE: 특정 데이터를 조회할 때 % 또는 _와 함께 사용 내부 조인: 공통 속성을 가진 데이터를 검색하기 위한 연산 외부 조인: 조인 조건에 해당하는 속성 값이 없는 데이터까지 모두 조회하는 연산 +) 교차 조인: 각 테이블의 행과 다른 테이블의 모든 행을 결합해 테이블 생성m개 행을 가진 테이블과 n개 행을 가진 테이블을 교차 조인 -> m x n 개 행을 가진 테이블 생성 셀프 조인: 한 테이블이 자기 자신과 ..
트랜잭션: 데이터베이스의 상태를 바꾸기 위해 수행하는 작업의 단위 또는 일련의 연산 *특성- Atomicity(원자성): 트랜잭션이 db에 완전히 반영되거나 아예 실행되지 않아야 함- Consistency(일관성): 트랜잭션 수행이 완료된 db는 일관성이 있음- Isolation(독립성): 수행 중인 트랜잭션에 다른 트랜잭션이 끼어들 수 없음- Durability(영속성): 완료한 트랜잭션의 결과가 db에 영구적으로 반영됨 *트랜잭션 제어 명령어 TCL(Transaction Control Language)- Commit: 트랜잭션이 정상적으로 종료되어 변경 사항을 반영- Rollback: 수행한 변경 사항을 취소하고 데이터 베이스를 이전 상태로 되돌리는 명령어- Savepoint: 특정 지점을 지정하는..
키(Key): 데이터베이스에서 튜플을 구분하기 위한 속성 또는 속성의 집합 *key의 특성- 유일성: 하나의 키 값으로 튜플을 식별할 수 있는 특성- 최소성: 튜플을 식별하는 데 필요한 속성만으로 이루어져 있는 특성*dbms key 종류- 슈퍼 키: 유일성을 만족함- 후보 키: 유일성과 최소성을 만족해야 함- 기본 키: 후보 키중 메인이 되는 키- 대체 키: 후보 키 - 기본 키- 외래 키: 다른 테이블의 기본 키를 참조 무결성: 데이터베이스에 저장된 데이터와 실제 데이터가 일치하는 정확성과, 데이터가 일정하게 유지되는 일관성 *무결성의 종류- 개체 무결성: 모든 테이블이 기본 키를 가져야 함- 도메인 무결성: 테이블의 속성 값은 domain에 속해야 함- 참조 무결성: 외래 키의 값은 참조하는 테이블의..