728x90

분류 전체보기 274

이진탐색 (시간복잡도와 이유)

[알고리즘] 이분 탐색 / 이진 탐색 (Binary Search) (velog.io) [알고리즘] 이분 탐색 / 이진 탐색 (Binary Search) 이진 탐색(이분 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다.이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 velog.io 정렬되어있는 리스트에서 탐색범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘 시간복잡도는 O(logN) -> 여기서 log는 log₂ 단계마다 탐색 범위를 반으로(÷2) 나누는 것과 동일하므로 위 시간 복잡도를 가지게 된다. # 재귀 함수로 구현한 이진 탐색 def binary_search(array..

우선순위 큐

[자료구조] 우선순위 큐와 힙 (Priority Queue & Heap) (tistory.com) [자료구조] 우선순위 큐와 힙 (Priority Queue & Heap) 1. 우선순위 큐 1.1 우선순위 큐란? 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위 suyeon96.tistory.com 큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다. 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다. 힙(..

레드블랙트리

레드블랙트리: 자가균형이진탐색트리 [자료구조] 레드-블랙 트리(Red-Black Tree)란? | 레드-블랙 트리 쉽게 이해하기 (tistory.com) [자료구조] 레드-블랙 트리(Red-Black Tree)란? | 레드-블랙 트리 쉽게 이해하기 레드-블랙 트리(Red-Black Tree) 레드-블랙 트리는 자가 균형 이진 탐색 트리이다. 레드-블랙 트리는 다음과 같은 조건들을 만족한다. 1. 모든 노드는 빨간색 혹은 검은색이다. 2. 루트 노드는 검은색 code-lab1.tistory.com

map과 hashMap차이

배고파서 까먹고 만든 블로그 :: C++ Hash와 Map의 차이점 (tistory.com) C++ Hash와 Map의 차이점 Hash와 Map의 차이점 STL에 보면 Map이라는 컨테이너가 있습니다. 이전에 정리한걸 다시 보면.. map - 특정 키(key)로 데이터를 접근하고 관리할 수 있다. - 키로 값에 접근하며 삽입과 삭제가 빠르다. wonjayk.tistory.com 특정 키에 대한 값을 찾는 과정에서 * map: 키-값의 컬렉션을 나타내는 추상 데이터 유형 레드블랙트리 알고리즘을 이용함 * hashMap: 이름 그대로 hash table을 이용해서 키-값 관계를 유지하며, 순서는 보장되지 않지만 빠른 조회 및 검색 필요 시 사용됨 그런데 STL 컨테이너를 보면 Hash Map은 없습니다. 이..

Double buffering

Double Buffering - 더블 버퍼링 기법 :: Move Fast (tistory.com) Double Buffering - 더블 버퍼링 기법 더블 버퍼링(Double Buffering)은 이중 버퍼링이라 불리기도 하며, 그래픽 객체에 이미지를 그릴 때 사용되는 기법이다. Q) 왜 사용하는가 ? A) API를 시작하다보면 비트맵 이미지를 사용하게 된다. 그 movefast.tistory.com A) API를 시작하다보면 비트맵 이미지를 사용하게 된다. 그 때 이미지들이 전환되면서 영상처럼 부드럽게 움직일 거라 생각하지만 실제로 이미지들이 움직일 때마다 화면이 깜빡이는 현상이 눈에 들어온다. 쉽게 말하자면 아래와 같은 상황인 것이다. 그 이유는 컴퓨터가 이미지를 지웠다가 새 이미지를 다시 그리고 ..

diffuse / ambient / specular

[게임공부] Diffuse reflection, Ambient light, Specular Reflection : 네이버 블로그 (naver.com) [게임공부] Diffuse reflection, Ambient light, Specular Reflection 모델링한 물체의 빛을 근사적으로 묘사하기 위해, diffuse reflection, ambient light, specular refl... blog.naver.com 모델링한 물체의 빛을 근사적으로 묘사하기 위해 주로 세 종류의 빛을 이용함. * Diffuse Reflection (난반사) 물체의 표면 재질이 거칠다면, 입사된 빛은 여러 방향으로 불규칙하게 반사될 것임. 이를 렌더링 시스템에서 모두 계산하는 것은 불가능하며, 단순한 근사 모델을 ..

unity 그림자 구현

Unity) 그림자(Shadow) :: 뻔뻔한블로그 (tistory.com) Unity) 그림자(Shadow) 1. 그림자 빛이 지나가는 경로에 불투명한 물체가 존재하여 빛이 통과하지 못해 생기는 어두운 부분이다. 게임에서 그림자는 모든 물체를 입체감을 더해주는 요소이다. 그림자가 있으면 사물의 funfunhanblog.tistory.com 쉐도우 맵의 원리 뎁스 텍스쳐 생성 (카메라를 통해서 현재 씬이 렌더링되는 정보를 렌더링하는 과정) 렌더링될 픽셀의 컬러 대신 카메라로부터 픽셀의 위치까지의 거리를 렌더링함 (카메라 가까이 있는 픽셀일수록 검은색 , 멀수록 흰색) 그 후, 그림자 처리를 위한 별도의 버퍼 필요. 이 버퍼에는 광원에서 바라보는 오브젝트의 픽셀의 깊이를 저장함. -> 이것이 쉐도우맵 그림..

DiretX / OpenGL

[OpenGL과 DirectX비교] : 네이버 블로그 (naver.com) [OpenGL과 DirectX비교] [기초개념] OpenGL (Open Graphics Library)OpenGL[오픈 지엘]은 2차원 및 3차원 그래픽 이미지를... blog.naver.com 공통점 둘 다 그래픽스 표준 API 규격 / 즉 멀티미디어, 게이밍을 위한 API 집합. 차이점 * OpenGL(호환성모드) : 세계적 표준으로 인텔 NVIDIA 등이 사용하는 API 규격 인텔 , 엔비디아, 애플 등 많은 멤버들이 자사의 하드웨어 혹은 제품을 호환할때만 새로운 OpenGL버전 출시를 공동으로 동의하기 때문에 여러 플랫폼의 호환성이좋지만 업그레이드가 아주 느림. *DirectX(스피드모드) : 마이크로소프트가 윈도우 전용으..

name mangling

extern C , 맹글링(function name mangling) : 네이버 블로그 (naver.com) extern C , 맹글링(function name mangling) [C++]extern C카테고리 : C++ 2007/03/20 00:01 C++ 프로그램내에서 C함수 ... blog.naver.com c++는 오버라이딩을 허용하기 때문에 함수 이름이 겹칠 수 있어 컴파일러가 임의로 함수나 변수의 이름을 변경하는 것 컴파일러마다 다른 맹글링규칙을 가지고 있음 필요성 ) C++는 C를 포함함. 그런데 만약 C 컴파일러로 컴파일된 오브젝트 파일이나 라이브러리만 C++에서 써야한다면 C함수를 사용하고자 한다면 그 함수의 원형을 C++ 코드에 선언시켜주고 C오브젝트 파일이나 라이브러리와 링크시켜서 C..

CS/C++ 2023.12.14

이동 의미론 ( move semantics)

C++11 부터 지원되는 이동연산자. * lvalue : 접근할 수 있는 주소를 가진 변수 - 이동연산을 할 수 없음 (이름이 있는 변수, 함수 int a, &foo() 선행 증감 연산자 ++a, --b lvaule배열의 인덱스 접근 l[n] string리터럴 "hello move sementics" 등등...) *prvalue: 접근을 할순 있지만 주소를 가지지 못한 표현식 -이동연산 가능 (리터럴 값 1,1.3f 후행 증감연산자 a++, b-- 값 리턴함수 호출 return str1 + str2; 비 참조 캐스팅 static_cast(x), (int)42 등등) *xvalue : 접근할 수 있는 주소를 가지지만 이동연산을 할 수 있음 rvalue참조를 리턴하는 함수 std::move(x) rvalue..

CS/C++ 2023.12.14
728x90