2014-06-08 1 views
0

나는 구멍이있는 다리로 연결되어있는 여러 기둥을 통과해야하는 문제가 있습니다. 그 남자는 가장 좋은 방법으로 기둥을 골라야합니다. 가장 좋은 방법은 시작 기둥에서 마지막 기둥까지의 구멍을 줄이는 것입니다.조립 NASM 포인터없이 검색 트리를 만들고 작동하는 방법

다음은 문제가있는 이미지입니다.

The Problem

프로그램이 입력으로 모든 기둥과 기둥과 브리지의 수 beetween 구멍 개수에 대한 설명을 수신한다. 그 사람은 마지막 기둥을 향한 한 방향으로 만 가야합니다.

내게 그것은 나무 검색 문제처럼 보입니다.하지만이 문제 때문에 포인터를 사용해서는 안된다는 말을 들었습니다. 어셈블리에서 고전적인 C 트리 정의를 사용하지 않고 구성하고 해결하는 방법이 있습니다.), 단지 재귀를 사용하여.

다이나믹 벡터/포인터를 사용하지 않고 "길목 트리"를 어떻게 구성 할 수 있습니까?

답변

1

'nxn'행렬 (길이 n^2의 배열)을 만들 수 있습니다. 여기에서 matrix[i, j]은 그 사이에있는 구멍의 개수입니다.
노드 ij 사이에 경로가 없으면 구멍의 수는 무한대입니다 (2^31-1).
그러면 재귀를 사용하거나 Dijkstra 알고리즘을 사용하여 최상의 경로를 찾을 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 재귀 및 매트릭스를 사용하여 문제를 해결했습니다. 매번 최상의 솔루션을 반환하지 못했을 것입니다. 아마도 올바른 구현을하지 못했을 것입니다. – Diedre