유랑하는 나그네의 갱생 기록

だけど素敵な明日を願っている -HANABI, Mr.children-

Computer Science/Algorithm 2

[Algorithm] A* 알고리즘

A* Algorithm? 얼마 전에 스타크래프트 길찾기 알고리즘과 관련된 글을 읽으면서 길찾기 알고리즘에 관심이 생기게 되었습니다. 물론 코딩 테스트를 준비하면서 다익스트라를 안보고 풀어보려고 얼마 전에 시도하긴 했지만, 이 다익스트라를 현실 문제에 적용하기엔 썩 좋은 방법은 아니죠. 우리가 사는 세상은 디지털 세상이 아니기 때문입니다.(시뮬레이션 우주 가설이 맞다면 이건 또 다른 문제죠.) 아날로그 세상이기 때문에 고려할 요소들이 너무나도 많습니다. Dijkstra! 그래도 일단 다익스트라 알고리즘에 대해서 짚어보고 넘어갑시다. 간단하게요.그래프에서 여러 개의 노드가 있을 때, 특정 노드에서 출발하여 다른 노드로 가는 경로를 구하는 알고리즘 (음의 간선x) 음의 간선은 어쩌냐고 물어보신다면 Bellma..

[자료구조] C언어로 하노이 탑 만들기

하노이 탑(The Tower of Hanoi)은 3개의 막대 중에서 막대 하나에 쌓여 있는 n개의 원판을 다른쪽 막대로 옮기는 게임이다. 단, 아래의 규칙을 지켜야 한다. 1. 한번에 하나의 원판만 이동한다. 2. 맨 위에 있는 원판만 이동한다. 3. 크기가 작은 원판위에 큰 원판을 쌓을 수 없다. n개의 원판을 옮기기 위해서는 먼저 임시 막대에 n-1개의 원판을 옮긴 후 처음 막대에 남아있는 맨 밑 원판을 목적지 막대에 옮기는 것을 반복한다. 그러고나면 원래 원판이 쌓여있던 막대는 빈 막대가 되고 임시 막대에는 n-1개의 원판이, 목적지 막대에는 가장 큰 원판이 하나 놓여있게 된다. 임시 막대에 있는 원판의 개수를 n으로 다시 설정하고 n-1개의 원판을 원래 원판이 있었던 첫막대에 옮긴다. 임시 막대에..

1
320x100