일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 크리티컬섹션
- makeweakobjectptr
- moreeffectiveC++
- 애셋로드
- 델리게이트
- 자료구조
- 람다
- 언리얼가비지컬렉터
- unorder_map
- 약참조
- enumasByue
- UE_LOG
- BFS
- UML관련
- 프로그래머스
- dataasset
- C++최적화
- 정렬
- map
- 알고리즘
- tweakobjectptr
- 강참조
- 스마트포인터
- 선택정렬
- 구조적 바인딩
- 비동기호출방법
- 데이터애셋
- C++
- 정렬알고리즘
- stl
- Today
- Total
목록전체 글 (429)
기억을 위한 기록들
#include using namespace std; int n; int result; int arr[10]; int cnt = 0; void D(int L, int sum) { if (L == n) { if (result == sum) { cnt++; } } else { D(L + 1, sum + arr[L]); D(L + 1, sum); D(L + 1, sum - arr[L]); } } int main() { cin >> n; cin >> result; int input; for (int i = 0; i > input; arr[i] = input; } D(0, 0); if (cnt == 0) { cout

basic_string substr(size_type pos = 0, size_type count = npos) const; 문자열의 일부를 리턴한다. 인자 : pos : 첫번째 문자열의 위치 count : 부분 문자열의 위치 #include #include using namespace std; int main() { string a = "Hellow World!"; cout

위상이란?? 즉, 어떤 정점이 다른 사물과의 관계 속에서 가지는 위치나 상태를 말한다. 그래프안에서 인접해 있는 정점 사이의 관계의 '위치'라는 속성이 존재. 그러므로 위상 정렬이 가능하려면, 첫째로 그래프에 방향성이 있어야하고, 둘째로는 그래프내에 사이클이 있어야한다. 이러한 그래프를 DAG(Directed Acyclic Graph)라고 한다. DAG 그래프 예 위상정렬은 두 정점이 이웃 또는 인접관계에 있다는 사실뿐만 아니라 간선이 방향성을 가지는 경우에는 어느 정점이 선이고 어느 정점이 후인지도 설명합니다. 정점은 두 가지 종류의 방향성 간선을 가질 수 있는데 그중 하나는 정점으로 들어가는 진입간선과 다른 하나는 진출 간선입니다. 1. 리스트 하나를 준비 2. 그래프에서 진입 간선이 없는 정점을 리..

배열이나 링크드리스트에서는 특정 데이터를 찾기위해 순차 탐색, 이진 탐색을 사용. 이진 탐색트리에서도 이진탐색을 사용한다. 근데 그래프에서는?? 이와같은 방법들이 쉽게 통하지 않는다. 대표적인 기법 2가지가 있다. 바로 깊이우선탐색과 너비우선탐색이다. 깊이 우선 탐색(DFS) (길 끝까지 깊이 들어간다.) 재귀활용 (or stack stl를 활용) 설명 : 최상단노드부터 말단 노드까지 빠르게 내려가면서 탐색하는 방법으로 보통 경우의 수를 확인 할 때 (사용 예: 바둑, 장기 등) 1. 시작정점을 방문표시 2. 해당 정점과 이웃하고 있는 정점중 아직 방문표시 없는곳을 선택하고 시작정점으로 삼고 dfs시작 다시 1번. 3. 정점에 더이상 방문하지 않은 인접 정점이 없으면 이전 정점으로 돌아가서 2번. 4. ..

정점 : 지점을 나타낸것 간선 : 2개 이상의 정점을 연결한 것 인접(Adjacent) : 나와 이웃하고 있는 정점 경로(Path) : 한 정점에서 다른 정점까지의 길 사이클(Cycle) : 단순 경로의 시작과 종료 정점이 동일한 경로 연결성 : 모든 정점이 서로 연결되어 있는것 방향성 그래프(Directed Graph) : 간선이 방향성을 가짐. 무방향성 그래프(Undirected Graph) : 간선에 방향성이 없음. 그래프는 정점의 집합? 간선의 집합? 정점의 집합 표현 방법 : 배열, 링크드 리스트 등 간선의 집합 표현 방법 : 간선은 그냥 선이 아니라 '인접관계'를 나타냄. 그래서 인접행렬(Adjacent Matrix) 또는 인접리스트(Adjacent List)로 표현 간선의 집한 표현방법 2가..
m.blog.naver.com/PostView.nhn?blogId=kmc7468&logNo=220989121076&proxyReferer=https:%2F%2Fwww.google.com%2F C++에서 RAII가 필요한 이유 2017.4.18 ~ 2017.4.21 김민찬 (C) 2017. kmc7468 all rights reserved. C++에는 RAII라는 독특한 디... blog.naver.com

hyo-ue4study.tistory.com/127?category=907498 힙(Heap) 특징 힙은 완전 이진트리 자료구조의 일종. 힙에서는 항상 루트노드를 제거. 최소 힙 : 루트 노드가 가장 작은 값/ 값이 작은 데이터가 우선적으로 제거 최대 힙 : 루트 노드가 가장 큰값/ 값이 가장 큰 hyo-ue4study.tistory.com hyo-ue4study.tistory.com/189?category=862971 [C++]STL 우선순위 큐(priority_queue) 0. 기본 우선순위는 less (내림차순 높은값이 루트값) #include #include #include using namespace std; int main() { //priority_queue //아무것도 입력하지 않으면 기본..

- 힙은 힙 순서 속성(Heap Order Property)을 만족하는 완전 이진트리 자료구조의 일종. * 힙 순서 속성 : 트리 내의 모든 노드가 부모 노드보다 커야한다는 규칙 - 힙에서의 삭제는 항상 루트노드(최소값)를 제거. 왜냐! 가장 작은 데이터를 갖는 노드는 루트노드이기 때문. 삭제 후 에도 힙 순서속성 유지. - 최소 힙 : 루트 노드가 가장 작은 값/ 값이 작은 데이터가 우선적으로 제거 - 최대 힙 : 루트 노드가 가장 큰값/ 값이 가장 큰 데이터가 우선적으로 제거

순차탐색 - 데이터집합의 처음부터 끝까지 차례대로 모든 요소를 비교해서 데이터를 찾는 탐색 알고리즘. - 한쪽 방향으로만 탐색을 수행한다고해서 선형 탐색이라고 부르기도 함. - 효율이 좋진 않지만, 높은 성능을 필요로 하지 않거나, 데이터집합의 크기가 작을 때 유용 자기구성 순차탐색 - 자주 찾는, 자주 사용하는 항목들을 다른 항목들보다 우선하여 접근하게 가까운곳에 배치한다. - 자주 사용되는 항목을 어떻게 선별하는가에 대한 세가지 방법 1. 전진 이동법(Move To Front) : 한번 탐색되면 무조건 가장 앞에 위치 시킴. 2. 전위법(Transpose) : 한번 탐색되면 앞칸으로 한칸씩 이동. 자주 탐색되면 앞으로 몰림 3. 빈도 계수법(Frequency Count) : 각 요소들이 탐색되는 횟수..

printf는 C언어를 처음 배울 때 부터 사용하던 익숙한 단어지만 sprintf는 자주 안쓰게 되다보니 낯설어서 적어 둔다. #include #include #include using namespace std; int main() { char arr[20]; char arr2[20]; sprintf(arr, "hello"); //arr에 hello 저장 cout

#include #include #include #include using namespace std; vector solution(vector prices) { //prices 주식가격 배열 // 1
#include using namespace std; int Compare(const void*_elem1, const void*_elem2) { int * elem1 = (int*)_elem1; int * elem2 = (int*)_elem2; if (*elem1 > *elem2) return 1; else if (*elem1 < *elem2) return -1; else return 0; }//end of Compare int main() { int arr[6] = { 1,2,4,6,10}; int *result; int Target = 6; result =(int*)bsearch(&Target, arr, 5, sizeof(int), Compare); //bsearch(찾는 값 주소, 데이터집합주소,..