두 갈래 나무, 뿌리 노드에서 잎 노드까지의 경로
- #include <iostream>
- #include <vector>
- using namespace std;
-
- struct node
- {
- int self; //
- node *left; //
- node *right; //
- };
-
- void PrintPath(node * root,vector<int> path,int length)
- {
- if (root)
- {
- path.push_back(root->self);
- if (!root->left&&!root->right)
- //if (root->self==find)
- {
- for (int i=0;i<path.size();i++)
- {
- cout<<path[i]<<",";
- }
- cout<<endl;
- return;
- }
- else
- {
- PrintPath(root->left,path,length+1);
- PrintPath(root->right,path,length+1);
- }
- }
- }
-
- void main()
- {
- const int TREE_SIZE = 10;
- std::stack <node*> visited, unvisited;
- node nodes[TREE_SIZE];
-
- for( int i=0; i<TREE_SIZE; i++) //
- {
- nodes[i].self = i;
- int child = i*2+1;
- if( child<TREE_SIZE ) //Left child
- nodes[i].left = &nodes[child];
- else
- nodes[i].left = NULL;
- child++;
- if( child<TREE_SIZE ) //Right child
- nodes[i].right = &nodes[child];
- else
- nodes[i].right = NULL;
- }
-
- vector<int> path;
- PrintPath(nodes,path,0);
-
- }
루트 노드로 지정된 경로 내보내기
- #include <iostream>
- #include <vector>
- using namespace std;
-
- struct node
- {
- int self; //
- node *left; //
- node *right; //
- };
-
- void PrintPath(node * root,vector<int> path,int length,int find)
- {
- if (root)
- {
- path.push_back(root->self);
- //if (!root->left&&!root->right)
- if (root->self==find)
- {
- for (int i=0;i<path.size();i++)
- {
- cout<<path[i]<<",";
- }
- cout<<endl;
- return;
- }
- else
- {
- PrintPath(root->left,path,length+1,find);
- PrintPath(root->right,path,length+1,find);
- }
-
- }
-
- }
-
- void main()
- {
-
-
- const int TREE_SIZE = 10;
- std::stack <node*> visited, unvisited;
- node nodes[TREE_SIZE];
-
- for( int i=0; i<TREE_SIZE; i++) //
- {
- nodes[i].self = i;
- int child = i*2+1;
- if( child<TREE_SIZE ) //Left child
- nodes[i].left = &nodes[child];
- else
- nodes[i].left = NULL;
- child++;
- if( child<TREE_SIZE ) //Right child
- nodes[i].right = &nodes[child];
- else
- nodes[i].right = NULL;
- }
-
- vector<int> path;
- PrintPath(nodes,path,0,4);
-
- }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 데이터 구조 2차원 트리의 실현 코드일.두 갈래 트리 인터페이스 2 노드 클래스 3. 두 갈래 나무 구현 이 글을 통해 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.