C語(yǔ)言實(shí)現(xiàn)找出二叉樹(shù)中某個(gè)值的所有路徑的方法
本文實(shí)例講述了C語(yǔ)言實(shí)現(xiàn)找出二叉樹(shù)中某個(gè)值的所有路徑的方法,是非常常用的一個(gè)實(shí)用算法技巧。分享給大家供大家參考。
具體實(shí)現(xiàn)方法如下:
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
vector<int> result;
struct Node {
Node(int i = 0, Node *pl = NULL, Node *pr = NULL) : data(i), left(pl), right(pr) {}
int data;
Node *left;
Node *right;
};
Node* Construct()
{
Node *node4 = new Node(7);
Node *node3 = new Node(4);
Node *node2 = new Node(12);
Node *node1 = new Node(5, node3, node4);
Node *root = new Node(10, node1, node2);
return root;
}
void print()
{
copy(result.begin(), result.end(), ostream_iterator<int>(cout, " "));
cout << endl;
}
void PrintSum(Node *root, int sum)
{
if(root == NULL)
return;
result.push_back(root->data);
if(root->left == NULL && root->right == NULL && root->data == sum) {
print();
}
PrintSum(root->left, sum - root->data);
PrintSum(root->right, sum - root->data);
result.pop_back();
}
void main()
{
Node *root = Construct();
PrintSum(root, 22);
}
感興趣的朋友可以測(cè)試運(yùn)行一下本文實(shí)例。相信本文所述算法對(duì)大家C程序算法設(shè)計(jì)的學(xué)習(xí)有一定的借鑒價(jià)值。
- C語(yǔ)言判定一棵二叉樹(shù)是否為二叉搜索樹(shù)的方法分析
- C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(shù)(AVL樹(shù))實(shí)現(xiàn)方法示例
- c語(yǔ)言_構(gòu)建一個(gè)靜態(tài)二叉樹(shù)實(shí)現(xiàn)方法
- 使用C語(yǔ)言實(shí)現(xiàn)最小生成樹(shù)求解的簡(jiǎn)單方法
- 使用C語(yǔ)言求二叉樹(shù)結(jié)點(diǎn)的最低公共祖先的方法
- C語(yǔ)言實(shí)現(xiàn)計(jì)算樹(shù)的深度的方法
- C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)系列之樹(shù)的概念結(jié)構(gòu)和常見(jiàn)表示方法
相關(guān)文章
Qt使用SqlLite實(shí)現(xiàn)權(quán)限管理的示例代碼
本文主要介紹了Qt使用SqlLite實(shí)現(xiàn)權(quán)限管理的示例代碼,管理員針對(duì)不同人員進(jìn)行權(quán)限設(shè)定,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Cocos2d-x UI開(kāi)發(fā)之CCControlColourPicker控件類(lèi)使用實(shí)例
這篇文章主要介紹了Cocos2d-x UI開(kāi)發(fā)之CCControlColourPicker控件類(lèi)使用實(shí)例,本文代碼中包含大量注釋來(lái)講解CCControlColourPicker控件類(lèi)的使用,需要的朋友可以參考下2014-09-09
基于OpenCV自定義色條實(shí)現(xiàn)灰度圖上色功能代碼
今天通過(guò)本文給大家分享基于OpenCV自定義色條實(shí)現(xiàn)灰度圖上色功能代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-11-11
opencv配置的完整步驟(win10+VS2015+OpenCV3.1.0)
OpenCV是計(jì)算機(jī)視覺(jué)中經(jīng)典的專用庫(kù),其支持多語(yǔ)言、跨平臺(tái),功能強(qiáng)大,這篇文章主要給大家介紹了關(guān)于opencv配置(win10+VS2015+OpenCV3.1.0)的相關(guān)資料,需要的朋友可以參考下2021-06-06
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的通訊錄管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06

