2011-02-09 5 views
0

나는 링에 넣고 자하는 노드가있다. 그들은 모두 반지에 넣을 때 참조를 사용하고자하는 숫자 속성을 가지고 있습니다.예를 들어 노드를 그립니다. 코드 링

예는, PARAM 32 노드, 22

내가 정말 필요로하는 것이 가능 노드 사이의 올바른 "거리"를 가질 수 있습니다 (같은 또는 무언가) 라이브러리는 파라와 노드 다음에 오는 예 : 22 ~ 32는 10 "단위"이고 32 ~ 35는 3 "단위"입니다. 여기서 "단위"는 빈 숫자 슬롯 일 수 있습니다.

+0

그 점은 분명하지 않습니다. 각 작업 후에 링 내용의 예를 들려 줄 수 있습니까? <22? ? ? ? ? ? ? ? ? 32? ? 35>. – PeterMmm

+0

글쎄, 우리가 코드 링을 본다면, 모든 예제는 http://upload.wikimedia.org/wikipedia/commons/2/20/Chord_network.png에서 길이가 같은 노드로 그려집니다. 내 설정에서 이러한 노드는 같은 거리에 있지 않으므로 22, 32, 35가됩니다. 노드가 40, 41, 42, 46, 50, 55, 01, 10, 12, 15 및 17 일 수 있습니다. – mamruoc

답변

0

처음부터 끝까지 연결된 정렬 된 목록이 필요한 것 같습니다. 표준 구현이 없다는 것을 알고 있지만 직접 구현하는 것은 매우 쉽습니다.

머리와 꼬리가 연결된 이중 연결 목록과 같은 것이 작동합니다. 추가 연산은 O (n) 연산을 삽입하기 위해 삽입 할 적절한 위치를 찾기 위해 목록을 탐색해야합니다. 이것은 당신의 목록을 거의 실망스럽게 수행하게 할 것입니다. 모두 표준 목록 연산은 O (n)입니다.

distanceToNext 및/또는 distanceToPrevious은 현재 노드와 다음/이전 노드의 값을 가져 와서 차이를 반환하면 쉽게 구현할 수 있습니다.

편집 :
당신은 아마도 이들을 그리기위한 GUI 라이브러리를 찾고 있다고 생각하며 사용하려는 모델을 암시했습니다. 나는 GUI에 대해 생각할 것이다.

편집 2 :
문제는 종횡비의 길이 만 알면 어떻게 다각형을 그립니까? 내가 asked on the maths stack exchange입니다.

+0

시간이 걸릴 수 있습니다. 예, 실행중인 코드가 있습니다.이 노드를 링 GUI로 시각화해야합니다. – mamruoc

+0

고마워,하지만 우리가 거기서 운이없는 것 같아. – mamruoc