본문 바로가기

(구) 자료/C6

[1-5] namespace란? 1. namespace란?- 정확히 말하면 '이름을 붙여놓은 공간'이다.- 즉, 특정 영역에 이름을 붙여주기 위한 문법적 요소.- 아주 쉬운 예로, 아파트 입구에서 '도랑아 놀자!' 하면 그 아파트 사는 도랑이들이 죄다 창 밖을 쳐다보겠지.- 하지만, 301호 사는 도랑아 나와! 하면 친구 한 명만 밖을 쳐다보고 나오게 될 것이다. * 이해가 잘 안된다. 코드를 보여달라! 1234567891011121314#includeusing namespace std; void myFunc(void) { cout 2018. 8. 27.
[1-4] inline 함수 1. inline 함수란?- in(내부) + line(프로그램 코드 라인)- 즉, 프로그램 코드라인 안으로 들어가 버린 함수 2. inline 함수는 왜 쓰는걸까- 매크로 함수는 일반적인 함수에 비해 실행속도가 빠른 장점이 있지만, 정의하기가 어렵다는 단점이 있다. (매크로 함수란... define으로 처리해주는 함수를 의미한다. 괄호 하나 까딱 잘못하면 값이 망가진다. - 이처럼 정의하기 어려운 단점을 보완하고, 장점은 그대로 가져가는 것이 바로 inline 함수이다. 3. inline 함수의 특징?- 매크로(define)를 이용한 함수의 인라인화는 전처리기에 의해서 처리되지만, inline을 이용한 함수의 인라인화는 컴파일러에 의해 처리가 됨.- 따라서 컴파일러가 inline 키워드가 붙은 함수를 컴.. 2018. 8. 27.
[8] Binary Search 이진 탐색(Binary Search)이란?- 순차 탐색이 간단하고 작은 배열의 탐색에 효과적이라고 한다면- 큰 배열의 탐색에 적합한 탐색 기법.- 배열의 중앙에 있는 값을 조사 → 찾고자 하는 값이 왼쪽인지 오른쪽인지 조사 → 탐색의 범위를 반으로 줄임- 위의 메커니즘을 계속해서 반복하여 원하는 값을 적은 횟수로 찾아낼 수 있음. (술게임에서 Up & Down을 생각하면 편하다)- 시간 복잡도 O(logn) 1234567891011121314int binary_search(int value, int left, int right) { int mid; // left 2018. 7. 19.
[7] Heap Sort, Quick Sort Heap정렬을 하기 전에... Heap이란?- Heap은 '더미'라는 뜻을 갖고 있음. (완전 이진 트리 기반의 더미와 모습이 비슷한 자료 구조를 의미) - Heap은 완전 이진 트리(Complete Binary Tree)다. (이진 탐색 트리와는 다르게 중복을 허용한다) - 여러 개의 값들 중, 가장 큰 값이나 가장 작은 값을 빠르게 찾아내도록 만들어진 자료 구조.- 부모 노드의 Key >= 자식 노드의 Key : MAX Heap- 부모 노드의 Key 부모 노드의 키 값 : 삽입 노드와 부모 노드 Swapelse ) 종료3) 삽입 노드로 계속 2번을 종료될 때까지 반복. [Code] 12345678910111213141516171819202122232425#include#include typedef s.. 2018. 7. 18.