Data Structure 자료구조는 우리가 컴퓨터 공학을 배움에 있어서 매우 중요한 부분중 하나이다. 익히 알고 있는 내용으로, 우리 현실 세계의 개념은 ...
Go to lecture
Integer Integer 는 일반적으로 C++ 에서 부호있는 정수로 알려져 있으며, 일반적인 경우에 32비트 (4바이트) 로 생각한다. 특수한 컴퓨터의 경우에는 2바이트, ...
Go to lecture
Recursion 자신의 함수를 자신이 다시 호출하는 방법을 Recursion ( 재귀 호출 ) 이라고 한다. 이론상 재귀 호출은 모든 반복문을 대체할 ...
Go to lecture
Code Running Time 자신의 알고리즘의 실행시간을 측정하는 방법은 아래와 같은 방법으로 가능하다. #include <time.h> int main(){ clock_t start, end; start ...
Go to lecture
Stack stack 은 두가지의 동작을 하는 자료구조이며, stack 의 유용성은 컴퓨터 아키텍쳐 중에서도 가장 높은 위치에 있다고 할 만큼 중요한 ...
Go to lecture
Binary Tree 이진 트리는 Linked List 의 확장형으로 두개의 포인터를 갖는다. 가장 간단한 트리의 일종으로 가장 널리 쓰이는 트리의 형태이다 ...
Go to lecture
Insert Node in BST BST 에 노드를 지속적으로 삽입하는 경우의 특별한 경우를 생각해보자. 삽입 입력값이 반복적으로 계속 작은 값을 추가하거나, ...
Go to lecture
AVL Tree AVL Tree 는 개발자인 Adelson-Velskii 와 Landis 에 의해 작성된 트리로서 삽입/삭제 시 트리의 균형을 자동으로 맞추어 나가는 ...
Go to lecture
C++/OOP 에 앞서 현재 강의는 C/C++ 와의 구분을 거의 하고 있지 않은 채로 C 와 C++ 의 내용을 섞어서 강의하고 ...
Go to lecture
Class class Person{ }; 클래스는 현실에 존재하는 추상적인 개념을 프로그램이 이해하기쉽고, 나아가 프로그래머가 이해하기 쉽게 그룹화하며, (구조적 프로그래밍) 그룹화 한 ...
Go to lecture
Member variables class Person{ public: int intergerPublic; protected: int integerProtected; private: int integerPrivate; }; 클래스는 어떠한 타입의 형태도 멤버 변수로 ...
Go to lecture
 Inherit ( 클래스 상속 ) 클래스 상속이란 부모로부터 클래스의 멤버들을 물려받는 개념을 상속 이라고 한다. (* futaba : 떡잎) 위의 ...
Go to lecture
Type Casting ( 형변환 ) 상속관계에 있는 클래스들은 형변환이 가능하다. 자식은 부모형태로 형 변환이 자유롭게 가능하다. 하지만 부모는 자식의 형태로 ...
Go to lecture
Function Overload 함수 다양화, 함수 오버로드. C++ 에서만 지원하는 것으로 C 에서는 본디 지원하지 않는다. Function Overload 란 같은 이름의 ...
Go to lecture
Function Override 함수 재정의 라고 불리는 Override 는 상속 관계에서 부모의 함수를 자식 클래스가 새로운 함수로 다시 정의하는것을 의미한다. 아래의 ...
Go to lecture
Header Source 분리 일반적으로 C++ 에서는 클래스당 1개의 헤더와 1개의 소스 파일을 작성하는 것이 기본이다. 일반적일 뿐이고 절대적인 기준은 아니며, ...
Go to lecture
Keyword "const" const, 즉 상수는 프로그램 실행 내내 변하지 않는 하나의 값을 의미한다. 일단 한번 할당이 되면 절대로 변할 수 ...
Go to lecture
Namespace( 네임스페이스 ) C++에서 Namespace는 클래스나 함수를 분류하는 하나의 디렉토리(폴더) 구조와 같은 개념이다. Namespace는 각 클래스간의 이름충돌을 최대한 방지하기 위해 ...
Go to lecture
std::string C++는 문자열을 보다 다루기 쉽고 일관적으로 작성할 수 있도록 basic_string 구조체/클래스를 제공한다. 일반적으로 std::string 은 heap 영역 보다는 stack영역에서 ...
Go to lecture
Exception Exception은 예외처리 라고도 불리운다. 우리는 지금까지 예외처리를 위해 if, else만을 활용하여 예외상황에 대한 대처를 하였다. C++ 에서는 예외처리를 위해 ...
Go to lecture
std::vector vector는 동적 배열 구조를 객체로 제공한다. C의 배열과 같은 빠른 접근 (Random Access)이 가능하고, 배열의 앞, 뒤에 요소를 insert할 ...
Go to lecture
std::stack 스택은 컴퓨터 자료구조에서 빠질 수 없는 자료구조이다. Last In First Out 형태의 자료구조로서, C 언어를 해석하는 해석기에도 있고, 프로그램의 ...
Go to lecture
std::set set 자료구조는 연관 건테이너중 가장 단순한 자료구조로서 key 라고 하는 원소로 이루어져 있다. key라는 원소는 중복이 불가능하며, 하나의 set에 ...
Go to lecture
std::function C++은 함수 그 자체를 변수화 할 수 있다. C 에서는 함수포인터 라는 개념으로 구현할 수 있으나, 그 자체를 변수화 ...
Go to lecture
Template 다양한 타입을 통해 함수나 클래스를 생성할 수 있게 해주는 테크닉. 이는 런타임에 행해지는것이 아니라. 컴파일 타임에 행해지는 테크닉이기 때문에 ...
Go to lecture
File pointer 파일 포인터는 물리적 디스크에 접근하는 타입이다. 파일 포인터의 구성요소에는 다음의 3가지가 있다. 파일의 시작 지점 파일의 종료 지점 ...
Go to lecture
Lambda 프로그래밍에서 람다는 일반적으로 람다식을 의미한다. 람다식은 Anonymous Function쯤으로 쉽게 생각이 가능하다. 익명함수. 즉 실체는 있지만 이름은 존재하지 않는 함수이다 ...
Go to lecture