2015-01-01 1 views
-4

나는 나무가있다. 그것은 8 자루의 나무입니다. 나무의첫 번째 노드에 트리의 루트를 연결하는 방법은 무엇입니까? C++

구조는 다음과 같습니다

Struct Tree{ 
NodeA * root; 

struct NodeA{ 
Tabsons sons; 
List words 
}; 

typedef std::vector<NodeA *> Tabsons 

난 내 루트 노드에 넣어 무엇을해야합니까? 예를 들어,이 이미지는 :

은 포인터 구조 안에 하위 노드로 가고있는 n 차 나무입니다.


이 노드의 내용은 무엇입니까? 빈 데이터와 포인터의 목록

노트 ?

+1

데이터가 무엇인지 모르는 경우 누가 알아야합니까? 그리고 코드 컴파일이 확실합니까? –

+0

아니, 나는 데이터가 "a"에서 "z"로 문자열 형태로 이동한다는 것을 의미합니다. 예를 들어 루트 데이터가 'a'이면이 노드의 모든 하위 노드에 'a'로 시작하는 단어가 포함됩니다. 그러나 내 뿌리가 'a'인 경우 'b', 'c'등으로 시작하는 단어를 어떻게 얻을 수 있습니까? 빈 노드로 시작할 생각이지만이 방법을 사용할지 확실하지 않습니다. – aydos

+0

아직 문제가 발생하지 않습니다. 루트 노드를 "비어있는"상태로 두는 것이 좋은 방법이 아니라고 생각하는 이유는 무엇입니까? 이것은 당신이 당신의 질문에서 정교해야했던 것입니다. – honk

답변

0

루트 노드로 std::vector<Node>을 사용할 수있는 것처럼 보입니다.
알파벳의 각 문자에 대한 링크를 하나씩 가질 수 있습니다.

다이어그램에서 vector['b']은 "by"단어를 입력하려고 시도합니다.

vector['s']에는 두 번째 문자 노드에 대한 다른 링크 벡터가있는 노드에 대한 링크가 포함됩니다.

관련 문제