Problem Solving에서는 자주 사용되는 자료 구조가 있다.자료 구조에는 형태와 규칙으로 나뉘어진다.형태배열링크드리스트트리(이진트리 / 힙트리)그래프규칙스택 / 큐Priority QueueHash TableUnion-Find자료구조란 어떻게 저장하는지에 따라 달
포인터의 개념부터 알아보겠습니다.포인터란?1\. 주소를 저장하는 변수2\. 주소를 저장하고 있을 때 '가리킨다'.3\. 가리킬 때 원격으로 접근 가능사용예시포인터 쉽게 이해하기 : \*a는 x라고 생각하고, \*b는 y라 생각하기!!!결과Call by reference
해당 Lib를 사용하기 위해서는 VS 설정을 건드려줘야 하는 부분이 있는데, 프로젝트 - 프로젝트 속성 - C/C++ - SDL 검사 - 아니요 이렇게 설정을 오류 경고창이 발생하지 않습니다.제가 이 Lib에서 자주 사용하는 함수에 대해 말해보겠습니다.strcpy :
String 라이브러리 사용을 위해서는 다음과 같이 작성해줘야 한다.String Lib의 최대 장점은 문자열 비교를 쉽게 가능하다는 것이다.결과이와 같이 문자열을 숫자 비교하는 거와 같이 == 연산자를 사용하여 비교할 수 있는 것이 큰 장점이다.또한, String도 문
Vector란 배열처럼 따로 범위를 지정해주지 않고, 원하는 범위만큼 추가를 해줄 수 있다.Vector을 사용하기 위해서는 Lib를 추가하여 사용하여야 합니다.vector을 사용하기 위해서는 자료형에 맞게 선언을 해줘야합니다.vector는 범위를 따로 지정해주지 않아도
그래프란? : 점과 선으로 관계를 나타낸 것 arr\[form]\[to]로 표현가능 하며, arr\[A]\[B] = 1 의 의미는 A -> B로 가는 간선이 있다는 의미이고, arr\[A]\[B] = 0는 A -> B로 가는 간선이 없다는 것을 의미한다.인접행렬의
|입력|그래프|출력(경로)| |--|--|--| ||||
BFS는 최대한 적은 개수의 점을 들리는 방법을 탐색하게 된다.최소 간선 or 최소 노드를 구할때 자주 사용된다.Data를 뒤에서 추가하고 앞에서 꺼낼것이기 때문에 Queue Lib를 사용할 것이다.DFS는 깊이 우선 탐색으로 모든 node를 들러서 탐색하며, 모든 경
빅오 표기법은 시간 복잡도를 표현할 때 사용되는 표현으로 O(1) , O(N) 등과 같이 사용된다.O(logN)이라는 빅오 표기법도 있지만 log(1억) = 27이 되기 때문에, O(1)로 생각해도 된다.P.S 문제는 몇 초내에 풀 것이라는 조건이 있기도 하다. 1초
특정 Lib를 사용하여 쉽게 오름차순 혹은 내림차순으로 정렬해줄 수 있고, 원하는 기준으로 정렬을 해줄 수 있다.을 사용하면 쉽게 Sort를 구현할 수 있다.다중조건 조금 더 쉽게 이해하기 위해서는 1을 반환하는 조건이 우선순위가 높다는 것이다.
Union-Find 자료구조는 그룹핑하여 자료를 저장하고, 같은 그룹인지 확인할 때, O(logN) 시간 만에 확인이 가능하다.10의 최종보스가 8의 최종 보스 밑으로 들어간다!그룹 개수를 구하기 위해서는 기본 코드에서 살짝만 변화를 주면 된다.Cycle 유무를 판단하
BS의 선행조건은 정렬이 되어있어야 합니다.BS의 사용하는 상황1) data가 변하지 않는 상태에서 여러 번 data를 찾아야 하는 경우2) Data 범위가 너무 큰 경우 -> 시간복잡도 : O(logN)
Heap은 Priority Queue로 구현하는 방식이다. PQ : 우선순위부터 꺼내는 트리구조조건 1 : Perfect Binary TreePerfect : 노드의 순서가 위쪽 왼쪽 순Binary : 자식이 최대 2개Tree : CYCLE이 없는 그래프조건 2 : 어
Dijkstra : 최단거리를 구하는 알고리즘조건 : 가중치로 음수가 존재하는 그래프는 최단거리를 구할 수 없다.방법아직 확정이 안된 점들 중에서 가장 거리가 짧은 점을 확정 짓는다.확장시킨 점에서부터 갈 수 있는 거리를 갱신시킨다.
MST : Min Spanning Tree - 하나의 그래프에서 최소한의 간선으로 모든 node를 연결하는 트리로 그리디 기반으로 최소비용을 구하는 것종류1\. Kruskal(크루스칼) 알고리즘2\. Prime 알고리즘Sort 혹은 PQ를 이용하여 가장 cost가 작은
memcpy는 특정 배열이나 값들을 복사(복제) 할때 사용하는 함수이다.for문을 통하여 복제할 수 도 있지만, 해당 함수를 이용하여 조금 더 가시성있고 시간복잡도를 줄일 수 도 있다.memcpy 함수를 사용하기 위해서는 다음 라이브러리가 필요로 한다.특정 배열에 저장
#h1 Dynamic programming #h2 Top down 방식