C++ 로 A* 알고리즘을 구현하는데 성공했다. 다익스트라 알고리즘도 직전에 구현했는데 곧 포스팅 하도록 하겠다. A* 알고리즘이란? 길찾기 알고리즘의 일종으로 Openlist, Closedlist, Parent 와 F=G+H 라는 식을 통해 최적의 경로를 찾는다. Openlist 는 경로를 탐색하면서 고려대상으로 포함이 되는 노드들을 말한다. Closedlist는 Openlist 중에 목적지까지의 가장 짧은 거리를 가진 노드들이다. Parent는 현재 노드의 바로 직전 노드, 이걸 통해서 경로를 이어줄 수 있다. F, G, H는 보통 프로그래머가 어떤 식으로 계산하느냐에 따라 달라질 수 있다. 일반적으로 G는 시작노드에서 특정노드까지의 이동거리, H는 특정노드에서 목적노드까지의 이동거리, F는 G+H ..
//제가 공부한 것을 기반으로 작성했다. 대부분의 프로그래밍 언어가 그렇듯 C++도 미리 배정된 키워드들이 있다. C++는 대략 90개의 키워드를 가지고 있는데 50개를 가지고 있는 Java, 32개 C, 33개 Python에 비하면 굉장히 많은 편이라고 생각한다. 아래는 cppreference.com 에서 가져온 키워드의 목록인데 한눈에 많다는것을 알수 있다. 키워드는 모두 알 필요는 없지만 프로그래밍 언어의 표현적 특성 때문에 미리 알고 있는 편이 좋다. C++의 변수들의 이름은 다음과 같은 규칙을 가지고 있다. 1) 주요 키워드들은 사용할 수 없다. 2) 알파벳, 숫자, _로만 구성할 수 있다. 3) 대소문자를 구분합니다. myAge 와 myage, MyAge, Myage는 모두 다른 변수로 취급된..