본문 바로가기

전체 글547

[공유] [서평이벤트 699] 한 권으로 끝내는 테마주 투자 (~4.5) 서평단 모집기간 : 3.31(화)~4.5(일) 서평단 모집인원 : 10명 서평단 발표일 : 4.6 (월) 서평 완료일 : 2019.4.26 협찬해주신 곳 : 길벗 서평단 응모요령 아래 질문의 답을 덧글로 달아 신청해 주세요. 1. 본문을 블로그에 스크랩하시고 주소를 남겨주세요. (글하단에 "담기"를 이용해서 스크랩 해주세요) 2. 서평하시고자 하는 이유를 간단히 적어주세요. 3. 서평올리실 인터넷서점과 아이디를 적어주세요. 4. 인터넷서점 3곳 이상에 서평을 올려주세요. 기본 지식부터 투자 전략, 종목 분석까지 왕초보를 위한 테마주 교과서! [한 권으로 끝내는 테마주 투자] 테마주가 도대체 뭐길래? 새로운 뉴스가 보도되면 사람들의 관심이 갑자기 집중된다. 주식시장에서도 이처럼 이슈에 따라 투자자들의 관심.. 2020. 4. 6.
opencv video to sequential images #include "opencv2/opencv.hpp"using namespace cv; int main(int, char**){ VideoCapture cap(0); // open the default camera //VideoCapture cap("chaplin.mp4"); if (!cap.isOpened()) // check if we succeeded return -1; Ptr pMOG = new BackgroundSubtractorMOG2(); Mat fg_mask; Mat frame; int count = -1; for (;;) { // Get frame cap >> frame; // get a new frame from camera // Update counter ++count; // Back.. 2018. 6. 1.
opencv2.4.9 build with Cuda 8.0 http://webnautes.tistory.com/1030 이 블로그를 참고해서 2.4.9 를 받고,Cmake option 설정을 https://askubuntu.com/questions/631720/opencv-2-4-9-make-error 와 같이 하면 됩니다. ^^반나절 고생했네여...... 여러번 시도하다가 잘 안되면 ... 깨끗하게 지우고 시작하세요http://jasonjuang.blogspot.com/2014/08/how-to-remove-cuda-completely-for-fresh.html 와... 중간에 또 안되서 확인해보니.8.0 을 설치하려고 하는데, 7.5 를 자동으로 찾아서. 8.0 의 위치를 지정해주어야 합니다.https://stackoverflow.com/questions/1.. 2018. 5. 31.
다익스트라(Dijkstra) 간선에 가중치가 있는 그래프에서 1:N 최단 거리를 구하는 알고리즘입니다. 보통 가중치가 없는 그래프에서의 1:N 최단거리는 BFS(O(V+E))를 통해서 계산하고, 가중치가 있는 그래프에서 N:N 최단거리는 플로이드 워셜(O(N^3)) 으로 계산합니다. 단, 다익스트라를 포함한 위의 알고리즘은 가중치가 음수 일때는 사용하지 못합니다. 가중치가 음수일 경우 벨만포드 알고리즘이나 SPFA를 통하여 최단거리를 구해야 합니다. 최단 거리를 기록할 배열과 후부가 될 수 있는 간선 중 최고로 작은 간선을 빠르게 뽑아낼 수 있는 힙 자료구조가 필요합니다. 우선 힙은 두 가지 정보를 저장합니다. 1번 정점으로 부터의 거리와 정점의 번호입니다. 맨 처음 힙에는 0,1 이 들어갑니다. 1번 정점이 1번 정점으로부터 0만.. 2018. 5. 10.
탐색(Search) 효율적인 탐색을 위해서는 어떻게 찾을까만을 고민해서는 안 됩니다. 그보다는 효율적인 탐색을 위한 저장방법이 무엇일까를 우선 고민해야 합니다. 보간 탐색(Interpolation Search)이진 탐색처럼 그냥 중앙에서 탐색을 시작하지 말고, 탐색대상이 앞쪽에 위치해 있으면 앞쪽에서 탐색을 시작하자! 탐색 대상이 존재하지 않을 경우, 탐색 대상의 값은 탐색 범위의 값을 넘어선다는 사실을 근거로 탈출조건을 수정해야 합니다. 12345678910111213141516171819202122232425262728293031323334353637#include int ISearch(int ar[], int first, int last, int target) { int mid; if (ar[first] > targe.. 2018. 5. 10.
퀵 정렬(Quick Sort) 실제로 퀵 정렬은 nlong(2)n의 복잡도를 갖는 다른 정렬 알고리즘과 비교했을 때에도 평균적으로 제일 빠른 것으로 알려져 있습니다. 그 이유는 퀵 정렬의 데이터 이동횟수가 상대적으로 적고, 병합 정렬과 같이 메모리 공간을 요구하지 않는다는 사실에 있습니다. 결론은 퀵 정렬의 시간 복잡도는 nlong(2)n 입니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include void Swap(int arr[], int idx1, int idx2) { int temp = arr[idx1]; arr[idx1] = arr[idx2]; arr[idx2] = temp;} int Partition(in.. 2018. 5. 10.
병합 정렬(Merge Sort) 비교연산과 이동연산이 실제 정렬을 진행하는 MergeTwoArea 함수를 중심으로 진행되기 때문에, MergeTwoArea 함수를 기준으로 계산합니다. 정렬의 대상인 데이터의 수가 n개 일 때, 각 병합의 단계마다 최대 n번의 비교연산이 진행됩니다. 즉, 병합 정렬의 비교 연산과 이동연산의 빅오는 nlong(2)n 으로 정리가 됩니다. 참고로 병합 정렬에는 임시 메모리가 필요하다는 단점이 있습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include #include void MergeTwoArea(int arr[], int left, int m.. 2018. 5. 10.
트라이(Trie) 자료구조 문자열에서 검색을 빠르게 해주는 자료구조 입니다. 정수형 자료형에 대해서 이진검색트리를 이용하면 O(longN)의 시간만에 원하는 데이터를 검색할 수 있습니다. 하지만 문자열에서 이진검색트리를 사용한다면 문자열의 최대 길이가 M이라면 O(MlongN)의 시간 복잡도를 가지게 될 것 입니다. 문자열에서의 검색을 개선하기 위하여 트라이를 이용하여 O(M)의 시간만에 원하는 문자열을 검색할 수 있습니다. 아래그 기름은 문자열 집합 = {"AE", "ATV", "ATES", "ATEV", "DE", "DC"} 가 존재할 때 트라이의 예입니다. 쿼리에 따라서 처리해줄 수 있는 역할이 달라지겠지만 우리는 대부분 문자열이 끝나는 지점을 표시하는 것이 쿼리를 처리할 때 편합니다. 종료 노드를 표시해주면 아래와 같은 그.. 2018. 5. 10.
삽입 성렬(Insertion Sort) 삽입 정렬은 정렬 대상을 두 부분으로 나눠서, 정렬 안 된 부분에 있는 데이터를 정렬 된 부분의 특정 위치에 삽입해 가면서 정렬을 진행하는 알고리즘 입니다. 구현에 도움이 되는 힌트는 다음과 같다. "정렬이 완료된 영역의 다음에 위치한 데이터가 그 다음 정렬대상이다.", "삽입할 위치를 발견하고 데이터를 한 칸씩 뒤로 밀수도 있지만, 데이터를 한 칸씩 뒤로 밀면서 삽입할 위치를 찾을 수도 있다." 123456789101112131415161718192021222324252627#include void InserSort(int arr[], int n) { int i, j; int insData; for (i = 1; i = 0; j--) { if (arr[j] > insData) arr[j + 1] = a.. 2018. 5. 9.
선택 정렬(Selection Sort) 선택 정렬은 정렬순서에 맞게 하나씩 선택해서 옮기는, 옮기면서 정렬이 되게 하는 알고리즘입니다. 정렬순서상 가장 앞서는 것을 선택해서 가장 왼쪽으로 이동시키고, 원래 그 자리에 있던 데이터는 빈 ㅏ리에 가져다 놓습니다. 123456789101112131415161718192021222324252627282930#include void SelSort(int arr[], int n) { int i, j; int maxIdx; int temp; for (i = 0; i 2018. 5. 9.