2016-10-31 2 views
0

Nx2 매트릭스를 주문하여 주어진 포인트가 플레이중인 것처럼 정렬되도록하고 점들과 값을 연결하십시오. 의미는 행렬에 값 [1 1]이 있고 다른 행렬에있는 행렬 [1 2]은 서로를 따라갈 수있는 방식으로 명령하고 싶습니다. "점들을 연결하는"다음 값이 [1 23]과 [2 23]이면 거기에서 계속 정렬됩니다.Matlab 매트릭스를 순차 시리즈로 정렬

"점 연결"은 인접 점에서만 가능하므로 [1 1]은 [1 2], [2 1], [2 2], [0 1], [0 0], [1 0], [2 0] 또는 [0 2] (왼쪽, 오른쪽, 위, 아래 및 기본 대각선).

답변

0

기술적으로 2 표준을 사용하여 문제를 해결할 수 있습니다. 으로 만 위, 아래, 왼쪽, 오른쪽 대각선 하나는 요소의 차이의 2 규범 1 SQRT이어야 수 있습니다 (2) :

a = [1 2]; 
b = [2 2]; 

if(norm(a-b,2) == 1 || norm(a-b,2) == sqrt(2)) 
    %apply sorting algorithm (quicksort, bubblesort, etc.) 
end 

그러나 당신을 예를 들면 다음과 같습니다

[0 0], [0 1], [1 0], [1 1] 또는 [0 0], [1 1], [1 0]과 같은 여러 답변이 가능한 경우 어디에 배치 할 요소를 정의해야합니다. , [0 1], etc.) 이것은 N이 커질수록 문제가 될 것입니다.

어쩌면 an adjacency matrix을 사용하는 것이 좋습니다. 그래프에서 노드 간의 연결을 찾는 것처럼 들릴 수도 있습니다.

+0

인접성 매트릭스에 동의합니다. 일단 그 점이 있으면, 나머지 점 전부가 아닌 현재의 정점의 로컬 근처만을 검색 할 수 있습니다. – beaker

관련 문제