목록공부/알고리즘 (4)
dev-logs
하고 있는 프로젝트에서 그래프 자료구조를 사용해보기로 해서 정리하는 글이다. 어디에 사용할건지 서로 다른 프레임에서 추출된 _feature points_를 _graph_로 만들면 프레임간 매칭단계 구현이 좀 더 단순해 지지않을까? 좀 더 세련되지지 않을까? 하는 생각으로 시작한다. Graph similarity? Graph isomorphism? Graph matching? graph matching 이라는 키워드로 처음 검색을 했다. 나는 template matching 처럼 두 객체 사이의 유사 정도를 판단하는 의미로 graph matching 이라는 단어를 쓴건데 graph matching 이라는 키워드는 내 생각과 다른 개념이었다. graph에서 matching 이라는 단어는 _subgraph_를..
c++ unordered_map 을 사용하여 구현했다. 그런데 그냥 배열로도 풀어도 된다! #include //#include #include #include #include using namespace std; unordered_map clock1; unordered_map clock2; int n; string func10266() { cin>>n; unordered_map::iterator finder; for(int i=0; i> tmp; int key = tmp%360; finder = clock1.find(key); if(finder != clock1.end()) { //같은 키 존재하면 개수++ finder->second = (finder->second)++; } else { //존재하지 않..
여러 개의 인접한 직사각형을 합치는 알고리즘 입니다! (아직 버그가 있습니다.....ㅜ) 저 같은 경우에는 라벨링 후 처리 로 사용하려고 만들었습니다. 라벨링을 해도 잘 안 합쳐지는 게 간혹 있더라고요. 그리고 isolated 된 부분의 경우, 간혹 라벨이 포개어져서? 나오기도 합니다. 간략하게 그림으로 그리면 아래와 같습니다. input: 직사각형들output: input을 모두 포함하는 최대 직사각형 ※ C언어 입니다. (코드 못짬 주의) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787..
전체집합의 원소를 입력하면 원소의 개수가 3개인 부분집합들을 출력해 준다. 1. 전체집합의 원소개수입력 2. 전체집합의 원소 입력 3. 부분집합이 생기는 경우의 수 계산(확률의 조합 이용) 4. 전체집합의 앞에서부터 차례대로 3개씩 넣음ex) 전체집합이 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 이라 하면{1, 2, 3} {1, 2, 4} {1, 2, 5} ...{1, 2, 10}{1, 3, 4} {1, 3, 5} ... {1, 3, 10} 이런식으로 첫번째 고정한 후 나머지 차례대로 집어넣는다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960..