전체 글
-
다익스트라 알고리즘@ 16. 1 ~ 17. 1/게임 AI 관련 2015. 5. 24. 23:27
Graph_SearchDijkstra cpp파일 #include"Graph_SearchDijkstra.h" Graph_SearchDijkstra::Graph_SearchDijkstra(string str) : m_fs(str.c_str(), ios::in) { if (!m_fs.is_open()) { cout m_nodeNum; m_fs >> m_edgeNum; m_vW.resize(m_nodeNum); m_vS.resize(m_nodeNum); } Graph_SearchDijkstra::~Graph_SearchDijkstra() { m_vW.clear(); m_vS.clear(); cout from; m_fs >> to; m_fs >> cost; from -= 1; to -= 1; temp.SetFro..
-
열혈강의 자료구조 정리(해싱)@ 16. 1 ~ 17. 1/자료구조 2015. 5. 3. 16:41
해싱은 검색키에 대한 산술 연산을 이용한 검색 방식임 검색 키 값을 입력값으로 계산을 실시하면 검색하려는 자료의 위치를 알 수 있다는 것이 기본 개념 검색키 -> 해싱함수 -> 검색 자료의 주소를 -> 해시테이블에서 찾음 그런데 계산된 주소에 다른 자료가 저장되어 있다면 충돌이 발생한다. 해싱함수로 사용될 수 있는 방법 1. 나머지 함수 가장 일반적임 검색 키 값 k를 해시 테이블의 크기 m으로 나눈 나머지를 해시 주소로 사용 2. 접기함수 검색 키의 크기가 해시 테이블의 크기보다 큰 정수일 경우 사용 검색 키 값 k가 데이블의 크기 m보다 큰 경우 k를 m의 자릿수와 같은 크기로 분할한 후 분할된 부분들을 이용하여 해시 테이블 주소 만듬 예) 검색 키값 : 1234512345(10자리) 해시 테이블 크..
-
전문가를 위한 C++ 정리(3)@ 16. 1 ~ 17. 1/C++ 2015. 4. 21. 14:52
50.2. multimap multimap은 아래 몇가지 빼고는 map과 같다. 1. operator[]을 지원하지 않음 2. map inset()는 pair를 리턴했지만 multimap의 insert는 반복자를 바로 리턴 3. find메서드도 임의의 항목만 리턴(임의다!!) 50.3 set map과의 차이점은 키/값 쌍 대신에 값 자체가 키역활을 함. 그리고 operator[] 지원x * multiset도 있다. 51. 비순차 연관 컨테이널 - 해시테이블 51.1.1 해시 테이블..? 새로운 컨테이너 항목을 저장할때 정렬을 하지 않는다. unordered_map, set, multimap, multiset : 테이블 구현시 버킷?이라는 배열을 만들고..해시함수의 키를 이러한 버킷에 인덱스 번호로 매핑...
-
전문가를 위한 C++ 정리(2)@ 16. 1 ~ 17. 1/C++ 2015. 4. 13. 00:15
전문가를 위한 C++. 1 저자 마크 그레고리, 니콜라스 솔터, 스캇 클레퍼 지음 출판사 한빛미디어 | 2013-10-01 출간 카테고리 컴퓨터/IT 책소개 더 쉽게, 더 빠르게, 더 깔끔하게 프로그래머가 알아야 할 C+... 글쓴이 평점 38. 유니폼 초기화! C++ 11 객체 생성시 생성자 매개변수 전달시.. A a(10, 20); 이렇게 하는걸 A a{10,10}; 이렇게 괄호를 대괄호로 하면 좋다. 왜냐면..음.. stl컨테이너에도 이용할 수 있으.. vector myvec; myvec.push_back(1); myvec.push_back(2); 이렇게 하는걸.. 유니폼 초기화를! 딱! vector myvec={1,2,3}; 또는 = 빼고 해도됨.. 이렇게 딱.. 동적 할당 배열ㅇ도..int* p..
-
예외처리@ 16. 1 ~ 17. 1/C++ 2015. 3. 28. 23:32
익셉션은 두 부분으로 구성된다. 익셉션을 처리하기 위한 try / catch 부분 익셉션을 발생시키기 위한 throw 부분 (익셉션이 동작하려면 이 부분이 존재해야만 한다.) try { throw //익셉션이 발생할 코드 } catch (exceptio-type1 exception-name) { // type1 익셉션을 받아서 처리할 코드 } //익셉션이 발생하지 않으면 실행되는 코드 예) void g() { throw 2; } void f() { try { g(); } catch (int i) { cout
-
전문가를 위한 C++ 정리(1)@ 16. 1 ~ 17. 1/C++ 2015. 3. 28. 18:40
전문가를 위한 C++. 1 저자 마크 그레고리, 니콜라스 솔터, 스캇 클레퍼 지음 출판사 한빛미디어 | 2013-10-01 출간 카테고리 컴퓨터/IT 책소개 더 쉽게, 더 빠르게, 더 깔끔하게 프로그래머가 알아야 할 C+... 글쓴이 평점 책을 정독하면서 까먹거나 자주 잊는것에 대해 정리..쉽게 아주 쉽게.. 1. auto 자료형 auto형은 컴파일러에 의해 자동으로 타입이 정해지는 타입 2. enum class enum class 이름 { } 이런식으로 사용을 하는데..class와 같다 그런데 기존 enum과 다른점은 엄격한 상태라 일반 정수타입변수로 캐스팅이 안되고 비교도 안된다. 3. 구간 지정 for루프 대상 : 배열과 반복자를 리턴하는 begin() end()함수를 멤버로 가진 데이터 타입(ST..