공부 71

Binary search

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273/*첫 번째 줄에는 마을 수 N(1≤N≤100,000, 정수)이 입력된다두 번째 줄부터 N줄에 걸쳐 마을 정보가 입력된다. 마을 정보는 두 개의 정수A, B이며 공백으로 구분되어 입력된다. A는 도시의 위치이며 B는 잡힌 물고기 양이다. (1≤A≤1,000,000,000, 단위는 km) (0≤B≤1,000,000,000, 단위는 톤)마을 정보는 도로 위치에 따라 오름차순으로 정렬되어 입력된다.*/ #include #define _CRT_NO_SECURE_WARNI..

공부/Algorithm 2018.07.09

Heap Sort

힙 정렬은 MAX HEAP 과 MIN HEAP으로 나뉘어져있다.이진 탐색 트리의 특징을 가지며, 부모 노드는 자식 노드 인덱스의 나누기 2이다.주의할 점은 인덱스는 1부터 시작해야한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586#include #define MAX_HEAP (30000)int N;int heap[MAX_HEAP + 1];int lastnode = 0; int Heap_Push(int d) { int c, p, temp; if (lastnode..

공부/Algorithm 2018.07.09

[BFS] 완전탐색하여 최단 비용 구하기 - 자외선 차단하기

* Queue 스택으로 직접 구현 시 주의할 사항1. rear와 frontrear 나 front를 할 경우, 배열 범위를 초과해 다시 돌아올 수 있으므로rear = (rear+1) % 스택 수;front = (front+1) % 스택 수;하여 스택 초과 시 다시 처음으로 돌아올 수 있도록 한다.2. isEmptyrear == front 인 경우 빈 경우이다. 단, 배열이 가득 찬 상태일 수도 있으므로 비어있는지 확인한다. * 풀어보기 Check[][] 라는 배열에 가장 큰 값으로 초기화를 하고, 첫 시작 점을 Check[0][0]에 넣어준다.가나다 (36pt)이후부터는 BFS를 활용하여 인접한 곳에 Check[][]값이 Check[x][y] + maps[x][y] < check[x][y]인 경우 최단 거..

공부/Algorithm 2018.05.07