이진 트리
Binary Tree 정의 이진 트리(Binary Tree)는 각 노드가 최대 두 개의 자식을 가지는 계층적 자료구조. Notations Node: 데이터를 저장하는 기본 단위 Edge: 노드 간의 연결을 나타내는 선 Child: 어떤 노드의 자식 노드 Parent: 어떤 노드의 부모 노...
Binary Tree 정의 이진 트리(Binary Tree)는 각 노드가 최대 두 개의 자식을 가지는 계층적 자료구조. Notations Node: 데이터를 저장하는 기본 단위 Edge: 노드 간의 연결을 나타내는 선 Child: 어떤 노드의 자식 노드 Parent: 어떤 노드의 부모 노...
List 리스트: 순서가 있는 데이터의 집합. 리스트의 원소는 순서가 있음. 표기: $<a_0, a_1, \ldots, a_{n-1}>$ Current Position: 리스트에서 현재 원소를 가리키는 위치. 현재 원소를 가리킴으로써 리스트의...
Algorithm Efficiency 효율적 알고리즘 이해, 구현, 유지보수가 쉬운 알고리즘 시간과 공간을 최소화하는 알고리즘 알고리즘 효율성 척도 경험적 방법 알고리즘을 실제로 구현하여 성능을 측정 이론적...
Relation(관계) 관계는 두 집합의 데카르트 곱의 부분집합. 집합 $ A $와 $ B $에 대해 관계 $ R $은 다음과 같이 정의됨: [R \subseteq A \times B] 여기서 $ A \times B = \{ (a, b) \mid a \in A, b \in B \} $ 관계의 성질 Reflexive: $ R $이 r...
Data Structure 자료구조란? 자료를 효율적으로 저장하고 관리하기 위한 방법과 구조를 의미. 자료구조의 필요성 데이터를 효율적으로 저장하고 검색하여 성능을 향상시킬 수 있음. 메모리 사용을 최적화하고, 프로그램의 실행 속도를 개선할 수 있음. 복잡한 문제를 단순화하고, 코드의...
Git Git이란? Git은 분산 버전 관리 시스템(DVCS)으로, 소스 코드의 변경 사항 등 전체 프로젝트 기록을 로컬 저장소에 저장하고 여러 개발자 간의 협업을 가능하게 합니다. 빠르고 효율적인 브랜치 관리와 병합 기능을 제공합니다. Git의 유용성 버전 관리 (Version Control) ...
Array 배열(Array)란 C++에서 여러 개의 동일한 타입의 데이터를 하나의 변수로 묶어서 관리할 수 있는 자료구조입니다. 배열은 고정된 크기를 가지며, 인덱스를 사용하여 각 요소에 접근할 수 있습니다. #include <iostream> using namespace std; int main() { int arr[5] = {...
Function Overloading 함수 오버로딩은 동일한 이름의 함수를 여러개 정의할 수 있도록 하는 기능입니다. 동일한 작업을 수행하지만 입력 데이터 유형이 다른 경우 사용할 수 있습니다. C++ 컴파일러는 function signature(함수 이름, parameter type, number of parameters, order of para...
Functions 함수(Function)란 프로그램에서 특정 작업을 수행하도록 설계된 코드 블록입니다. 함수는 재사용 가능하며, 코드의 가독성과 유지보수성을 높이는 데 도움을 줍니다. 함수는 입력값(parameter)을 받아 처리한 후 결과값(반환값)을 반환할 수 있습니다. Predefined Functions C++ 표준 라이브러리는 cmath, ...
Association Rule Mining DB에 감춰진 관계들을 발견 예시 상황 transaction set이 주어졌을 때, transaction에서 item occurence를 이용해 다른 item occurrence 정보를 예측하는 rule 찾는 것이 목적 market basket transaction ...