목록2021/01 (5)
Game Tech Blog
- TCP, UDP = OSI 7 Layer 의 전송 계층에서 사용되는 프로토콜 (응표세전네데물..) - TCP ( Transmission Control Protocol ) -> 인터넷에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용되는 프로토콜 [TCP 특징] 1. 연결 지향 방식으로 패킷 교환 방식을 사용 2. 3-way handshaking 과정을 통해 연결, 4-way handshaking을 통해 해제 3. 흐름 제어, 혼잡 제어 4. 높은 신뢰성을 보장 5. UDP 보다 속도가 낮음 6. 전이중(Full-Duplex), 점대점 (point to Point) 방식 TCP는 연결 지향 방식으로 패킷을 전송하는 논리적 경로를 배정. 3-way handshaking과정은 목적지와 수신지를 확..
Virtual Table ( vtable ) ? 가상함수 테이블이란, 한 개 이상의 가상 함수 (Virtual Method)를 포함하는 클래스에 대해서 컴파일러가 생성하는 테이블. Key(식별자) , Value(함수의 주소) 로 구성되어 있다. 가상함수 포인터를 모아둔 배열이라고도 한다. 이 가상함수 테이블이 존재하는 클래스에 대해서는 vptr(가상함수 포인터) 가 클래스 내부에 생성된다. Code 다음과 같은 코드를 짜면 vtable의 어떻게 구성되는지 알아볼 수 있다. #include "stdafx.h" #include using namespace std; class Parent { public: virtual void MyFunc1() { cout
Binary Search Tree? 레드 블랙 트리를 배우기 전 알아야할 자료구조. 이진 검색 트리는 저장과 검색에 평균 O(LogN) , 최악 O(N) 의 비교적 불완전한 구조를 가진다. 이 불 완전성을 해결하기 위해 고안된 것이 균형잡힌 이진트리 이다. 균형잡힌 이진트리로 대표적인 것은 레드 블랙 트리, AVL 트리이다. 여기서는 레드 블랙 트리를 다룬다. 이 Tree 에서 중위 순회(왼쪽자식 -> 부모 -> 오른쪽자식)를 할 때, 다음과 같은 Key를 얻는다. 결과 : 20 -> 30 -> 40 -> 50 -> 60 -> 80 이를 다시 트리에 넣게 되면, 다음과 같은 최악의 구조가 나온다. 이 Depth 를 Balance 있게 잡아줄 트리라고 생각하면 된다. Red Black Tree ? 기본은 ..
Hasing ? - 임의의 길이의 값을 해시함수를 사용하여 고정된 크기의 값으로 변환하는 작업 Hash Table ? - 해시 함수를 사용하여 변환 값을 Index 로 삼아 Key, Value를 저장하는 자료구조 - 기본연산으로는 탐색, 삽입, 삭제 등이 존재 - 저장된 데이터를 찾을 때, hash_function을 한번만 수행하면 array내 저장된 Index위치를 찾아낼 수 있어서 탐색이 O(1) 이다. - 순차 검색에 비해 비교도 안될정도로 빠르다. 해쉬 함수의 알고리즘 - Division Method (나눗셈 법) 입력 값을 테이블의 크기로 나누고 그 나머지를 테이블의 인덱스로 이용하는 알고리즘 // 인덱스 (해시 값) = 입력 값 % 테이블의 크기 - Digit Folding (자릿수 접기) 숫..
Dictionary ? - Dictionary 란 Key, Value 로 나누어진 값으로 이루어져 있다. Python 에서 사용된다고 한다. - Vector, List , Array 에서는 숫자 인덱스로 Value 를 참조했으나, Dictionary 에서는 문자로 값을 참조할 수 있다고 한다. Dictionary Vs Map - 공통 1. Key , Value 를 가지고 있으며, Key로 찾아서 Value를 참조하는 자료구조 2. 중복 Key 값이 존재할 때 값을 넣지 않는다. (중복 Key 불허함, Key의 Unique한 성질을 보장해야함) - 차이 - Map 1. Key값을 기준으로 요소들이 추가,삽입,삭제될 때, 재정렬을 수행한다. 2. 내부가 트리로 구성된다 (레드 블랙 트리로 구성) 3. 트리로..