본문 바로가기

vector

(3)
C++를 이용한 피보나치 수열 구현 (fibonacci) 이 포스트의 목적은 가끔 예제로 이용하는 피보나치 수열을 구현하는 방법에 대한 포스트입니다. 만들어 보니 7가지가 나왔으며, 버전에 따라 재귀 호출, 메모리제이션 등을 이용해 최적화하는 방식으로 구현됩니다. 먼저 피보나치수열을 알아봐야죠. 피보나치수열은 아래 규칙을 따르는 수열입니다. $$f_0 = 0$$ $$f_1 = 1$$ $$f_n = f_{n-1} + f_{n-2} \quad ( n \in\left \{2,3,4,\cdots\right\} )$$ 구조는 단순하지만 구현 시 오버플로우와 중복 연산에 주의해야 합니다. 그럼 먼저 간단히 구현해 보겠습니다. 별다른 소프트웨어 공학의 기술이 들어 가진 않지만 설계 시엔 약간 두통을 유발합니다. #include #include using namespace ..
Std::Vector 사용하기 C++의 기초 문법이라는 험난한 산들을 넘고 나면, Standard Template Library (STL)이라는 산이 기다립니다. 그동안 넘어온 산들에 비하면 진입 장벽이 높지 않으나 잘못 사용하면 독이 되기도 하는 양날의 검이기도 합니다. 이 포스팅에서는 STL 중 가장 쉽고, 널리 사용되는 Vector에 대해서 포스팅 하겠습니다. 먼저 사용법을 언급하고, 장점을 보여 드린 뒤, 단점을 보여드리려고 했는데, 예제를 못 만들겠어요.. 컴파일러 개발자들 일 잘하네.. 주의점을 보여드리겠습니다. Vector를 개념적으로 표현하면 동적배열 입니다. 배열을 쓰는데 그 크기가 동적으로 변화 하며, 사용자가 원하는 대로 늘려서 쓸수 있습니다. 장점은 귀찮기만 한 메모리 관리를 컴파일러 혹은 OS가 알아서 해준다는..
c++ STL sort descending 내림차순 정렬 이번 글은 간단한 포스트 입니다. 알고리듬 공부를 하다 보니 sort를 내림차순으로 정렬하는 팁이 있더군요. 일반적인 sort 함수는 오름차순으로 정렬하는 점을 이용해서, 해당 책의 저자는 데이터 입력시 데이터를 음수화 해서 최적화를 시도했습니다. 그걸 보고 문득!!! C++에서 제공하는 내림차순 정렬 기능과 제안해준 기능의 성능차는 어떻게 될까하는 의문이 생겨서 시험해본 내역 입니다. 일반 c++ sort function 을 내림차순으로 실행하려하면 세번째 argument에 옵션을 추가하면 됩니다. sort function의 사용법과 옵션에 관련된 내용은 적합한 링크로 갈음합니다. http://www.cplusplus.com/reference/algorithm/sort/ sort - C++ Refere..