4 在二元樹中找出和為某一值的所有路徑

2021-06-23 08:44:13 字數 1221 閱讀 4098

/*

4.在二元樹中找出和為某一值的所有路徑

題目:輸入乙個整數和一棵二元樹。

從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。

列印出和與輸入整數相等的所有路徑。

例如輸入整數 22 和如下二元樹

10/ \

5 12

/ \

4 7

則列印出兩條路徑:10, 12 和 10, 5, 7。

方法主要用回溯法和遞推

*/#include#include#includeusing namespace std;

#define max 20

struct btreenode;

//建立二叉樹

btreenode * createtree(int data,int pos,int len)

else

}//這裡複習一下三種遍歷

void preorder(btreenode *tree)

}void inorder(btreenode *tree)

}void baorder(btreenode *tree)

}void printpath(int path,int top)

else

top--;

sum+=root->data;

}int main();

int len=sizeof(data)/sizeof(int);

//這裡複習一下三種遍歷

btreenode *tree=createtree(data,0,len);

printf("前序遍歷:\n");

preorder(tree);printf("\n");

printf("中序遍歷:\n");

inorder(tree);printf("\n");

printf("後序遍歷:\n");

4 在二元樹中找出和為某一值的所有路徑

題目 輸入乙個整數和一棵二元樹。從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。列印出和與輸入整數相等的所有路徑。例如輸入整數22和如下二元樹 10 5 12 4 7 則列印出兩條路徑 10,12和10,5,7。分析 考查對樹這種基本資料結構以及遞迴函式的理解。當訪問到某一結點時,...

NO 4在二元樹中找出和為某一值的所有路徑

題目部落格 題目 輸入乙個整數和一棵二元樹。從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。列印出和與輸入整數相等的所有路徑。例如 輸入整數22和如下二元樹 10 5 12 4 7 則列印出兩條路徑 10,12和10,5,7。二元樹節點的資料結構定義為 struct binaryt...

在二元樹中找出和為某一值的所有路徑

4.在二元樹中找出和為某一值的所有路徑 題目 輸入乙個整數和一棵二元樹。從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。列印出和與輸入整數相等的所有路徑。例如 輸入整數22和如下二元樹 10 5 12 4 7則列印出兩條路徑 10,12和10,5,7。c codes as belo...