Archive — Archive

전체 글

Academic
Computer Science/C & C++

[C++] Dynamic Array | 동적 배열

Dynamic Array 동적 배열 - Dynamic Binding(동적 바인딩)* 방식으로 메모리를 할당받은 배열을 의미한다. - Static Binding을 통해 메모리를 할당받는, 일반적으로 선언된 배열보다 메모리 효율이 높다. - 실행시간 동안에 메모리를 할당받으므로 프로그램 실행효율은 정적 바인딩 방식보다 떨어진다. * Dynamic Binding (동적 바인딩) - 컴파일 시간이 아닌 실행시간 동안 메모리를 필요한만큼 할당할 수 있게하는 기법이다. - 반의어는 Static Binding (정적 바인딩)이다. Operator : new, delete (new, delete 연산자를 통한 동적 배열 생성) // 일반형 dataType* pointerName = new dataType[numElem..

Computer Science/C & C++

[C++] Dynamic Allocating Memory | 동적 메모리 할당

Dynamic Allocating Memory 동적 메모리 할당 - 컴파일 시간이 아닌, 실행시간 동안에 메모리를 대입하는 방법 (정적 포인터 변수의 경우, 소스코드 상에서 주소를 할당(초기화)하는데 이와 같은 메모리는 컴파일 시간에 할당된다.) - OOP에서 중요한 테크닉 중 하나로 손꼽힌다. - 포인터가 메모리를 위한 대용 이름을 제공하는 기능이라면, 동적 메모리 할당은 실행시간 동안에 unnamed(이름없는) 메모리를 대입하는 기능이다. 이 경우에 포인터가 그 메모리에 접근할 수 있는 유일한 통로이다. C Style: malloc() & free() - C Style이라고 표기했지만 C++에서도 cstdlib 헤더파일을 포함시키면 사용할 수 있다. - 동적인 메모리 할당 후, 반드시 Memory L..

Computer Science/C & C++

[C++] Pointer | 포인터

Pointer 포인터 - 포인터는 값 자체가 아닌, 값이 저장된 메모리 공간의 주소를 저장하는 변수이다. Address Operator "&" (주소연산자 "&") - 변수가 저장된 메모리 공간의 주솟값을 반환하는 연산자이다. Ex. 주소 연산자 사용 예시 int donuts = 7; cout

Computer Science/Data Structures & Algorithms

[Data Structures] Bag | 가방 구조

Structure Bag 가방 구조 - 중복된 원소를 허용하는 Container Class로 원소들간에 순서를 구분짓지 않는다. Bag에서 제공하는 연산의 종류 1. Push : 원소를 삽입하는 연산으로, 배열내에서 이용가능한 첫 번째 위치를 찾아내어 그 자리에 원소를 삽입(저장)한다. 배열이 꽉 찼을 경우, 배열의 크기를 두 배로 확장한다. 2. Pop : 원소를 제거하는 연산으로, 배열의 중앙에 위치한 원소를 찾아 제거하고, 뒤따른 원소들의 위치를 한 칸씩 조정한다.

Computer Science/Data Structures & Algorithms

[Data Structures] Container Class | 컨테이너 클래스

Container Class 컨테이너 클래스 - 다수의 데이터 객체들을 수용 또는 저장하는 자료 구조를 표현하는 클래스이다. - 기본적으로, 데이터를 삽입하는 Push 연산, 데이터를 삭제하는 Pop 연산을 제공한다. - 컨테이너의 종류로는 Bag, Stack, Queue, Array 등이 있다.

Computer Science/Digital Logic

[Digital Logic] Functionally Equivalent Network | 같은 기능을 수행하는 회로

Network A \(A = \bar{x_1}\) \(B = x_1 \cdot x_2\) \(\therefore f = \bar{x_1} + x_1 \cdot x_2\) Truth table \(x_1\) \(x_2\) \(A\) \(B\) \(f\) \(0\) \(0\) \(1\) \(0\) \(1\) \(0\) \(1\) \(1\) \(0\) \(1\) \(1\) \(0\) \(0\) \(0\) \(0\) \(1\) \(1\) \(0\) \(1\) \(1\) \(\therefore f = \bar{x_1 \cdot x_2} + \bar{x_1} \cdot x_2 + x_1 \cdot x_2\) \( cf) f = \bar{x_1 \cdot x_2} + \bar{x_1} \cdot x_2 + x_1 \..

Computer Science/Data Communications

[Data Communications] Networks | 네트워크

Networks 네트워크 "The interconnection of a set of devices capable of communication." - 통신이 가능한 기기들끼리 서로 연결되어 있는 형태를 의미한다. Router - Connecting device 중 하나로, 물리 네트워크들을 서로 연결해 주어 Logical network를 구성한다. Host - 네트워크를 구성하는 기기이다. ex) 데스크탑 컴퓨터, 랩탑 컴퓨터, 휴대전화 Physical Network - 장비와 회선이 어떻게 연결되었는지에 주안점을 두는 네트워크이다. - 반대로 Logical Network는 데이터의 흐름에 주안점을 둔다. - 물리 네트워크 내부에는 Switch라는 통신장비로 구성되어 있다. * Switch Network..

Computer Science/Data Communications

[Data Communications] Data Flow | 데이터 흐름 방식

Data Flow 데이터 흐름 - 송신과 수신에 관련된 개념으로 크게 세 가지로 구분된다. (Simplex, Half-Duplex, Full Duplex) Simplex (단방향 통신) - 한 쪽에서 송신중일 경우, 다른 한 쪽에선 오로지 수신만 가능한 형태이다. ex) 방송 Half-Duplex (반이중 통신) - 모든 기기가 송수신이 가능하나 서로 동시에 송수신하는 것은 불가능한 형태이다. ex) 무전기 Full Duplex (전이중 통신) - 모든 기기가 송수신이 가능하며 서로 동시에 송수신 또한 가능한 형태이다. - 보통, Duplex라 하면 Full Duplex를 의미한다. Reference: Data Communications and Networking 5E (Behrouz A. Forouza..

lww7438
Archive