亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++實現查找二叉樹中和為某一值的所有路徑的示例

2020-01-26 14:44:01
字體:
來源:轉載
供稿:網友

從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。
打印出和與輸入整數相等的所有路徑。
例如 輸入整數22和如下二元樹

201624172555583.png (138×105)

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

先序遍歷樹即可得到結果。
算法: FindPath(BTree * root,int sum,int target,Stack * s) 用來計算,sum為棧中的元素的和,target為目標值。
到達一個節點之后計算當前節點和sum的和,如果為target,輸出路徑返回,如果大于target,則直接返回,如果小于,則將當前節點的值入棧,更新sum的值,繼續遍歷,遍歷完成之后,也就是從當前節點返回的時候,將其從棧中彈出,更新sum
代碼如下(GCC編譯通過):


#include "stdio.h"#include "stdlib.h"#define MAXSIZE 8 typedef struct node{ int data; struct node * left; struct node * right;}BTree; typedef struct { int top; int data[MAXSIZE];}Stack; BTree * CreatTree(int a[],int n);void Iorder(BTree * root);void Porder(BTree * root);void FindPath(BTree * root,int sum,int target,Stack * stack);void InitStack(Stack * stack);void Push(Stack * s,int val);int Pop(Stack *s); int main(void){ int array[MAXSIZE] = {5,3,8,7,2,4,1,9},target; BTree * root; Stack stack;   target = 12; root = CreatTree(array,MAXSIZE); InitStack(&stack);  printf("二叉樹內元素升序排列:"); Iorder(root); printf("/n");  printf("目標值:%d,路徑:",target); FindPath(root,0,target,&stack);  printf("/n"); return 0;} //根據數組生成二叉排序樹BTree * CreatTree(int a[],int n){ BTree * root ,*p,*cu,*pa; int i;   root = (BTree *)malloc(sizeof(BTree)); root->data = a[0];  root->left = root->right =NULL;   for(i=1;i<n;i++) {  p = (BTree *)malloc(sizeof(BTree));  p->data = a[i];  p->left = p->right =NULL;  cu = root;   while(cu)  {   pa = cu;   if(cu->data > p->data)    cu = cu->left;   else    cu = cu->right;  }  if(pa->data > p->data)   pa->left = p;  else   pa->right = p; }   return root;} //中根遍歷,打印二叉樹void Iorder(BTree * root){ if(root) {    Iorder(root->left);  printf("%3d",root->data);  Iorder(root->right); }} //尋找路徑void FindPath(BTree * root,int sum,int target,Stack * s){ int i;  if(!root)  return ; if(sum + root->data == target) {  Push(s,root->data);  for(i = 0;i<s->top;i++)   printf("%3d",s->data[i]);  return; }  else if(sum + root->data > target)   {  return;   }   else   {  Push(s,root->data);  sum += root->data;  FindPath(root->left,sum,target,s);  FindPath(root->right,sum,target,s);  sum -= root->data;  Pop(s);   }} //初始化棧void InitStack(Stack * s){ s->top = 0;} //入棧void Push(Stack *s,int val){ if(s->top == MAXSIZE) {  printf("棧滿,無法入棧!/n");  return; } s->data[(s->top)++] = val; } //出棧int Pop(Stack *s){ if(s->top == 0) {  printf("???,無法出棧!/n");  return; }   return s->data[--(s->top)];}

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本一区二区在线播放| 欧美一区二区三区四区在线| 欧洲成人在线视频| 九九热这里只有精品免费看| 欧美第一黄网免费网站| 欧美极品美女电影一区| 日韩欧美亚洲成人| 国产香蕉97碰碰久久人人| 国产91精品在线播放| 国产视频精品va久久久久久| 亚洲区中文字幕| 亚洲综合色激情五月| 亚洲视频国产视频| 成人h视频在线观看播放| 亚洲一区二区免费在线| 日韩在线视频观看| 亚洲黄色片网站| 久久精彩免费视频| 中文字幕在线视频日韩| 91午夜在线播放| 中文字幕亚洲综合久久筱田步美| 日韩av资源在线播放| 国产精品国产自产拍高清av水多| 中文字幕亚洲综合| 51久久精品夜色国产麻豆| 亚洲免费影视第一页| 欧美性videos高清精品| 日韩免费av片在线观看| 久久久精品999| 欧洲成人在线观看| 91免费国产视频| 欧美成aaa人片免费看| 欧美日韩亚洲一区二| 欧美成人黑人xx视频免费观看| 亚洲欧美精品一区二区| 久久久精品在线| 欧美综合国产精品久久丁香| 国产一区二区三区日韩欧美| 国产精品久久久久久av| 日韩欧美在线观看| 人九九综合九九宗合| 欧美裸体xxxx极品少妇| 欧美激情综合色| 在线视频精品一| 热久久这里只有| 91久久久久久久一区二区| 亚洲深夜福利视频| 欧美另类第一页| 国产a级全部精品| 欧美野外wwwxxx| 亚洲综合在线小说| 亚洲成年人在线| 亚洲精品影视在线观看| 日韩成人高清在线| 日韩国产精品视频| 亚洲精品国产拍免费91在线| 最近2019中文字幕一页二页| 伊人久久男人天堂| 亚洲欧美国产日韩中文字幕| 精品一区二区电影| 欧美在线一级va免费观看| 国产精品美女免费视频| 国产在线视频2019最新视频| 欲色天天网综合久久| 欧美一级黄色网| 亚洲第一精品久久忘忧草社区| 欧美日韩高清在线观看| 欧美日韩国产精品专区| 亚洲自拍欧美另类| 国语自产偷拍精品视频偷| 久久久久久久影院| 91精品视频在线播放| 中文字幕欧美日韩| 国产精品爱啪在线线免费观看| 欧美成人精品不卡视频在线观看| 九九热这里只有精品6| 成人动漫网站在线观看| 国产精品黄色影片导航在线观看| 亚洲天堂成人在线| 成人在线小视频| 亚洲一区二区三区香蕉| 亚洲人成电影网站色| 国产精品久久综合av爱欲tv| 久久综合伊人77777尤物| 国产欧美精品一区二区三区介绍| 欧美成人免费va影院高清| 亚洲一区美女视频在线观看免费| 国产剧情久久久久久| 黑人巨大精品欧美一区二区| 久久成人18免费网站| 亚洲国产精品人久久电影| 日本国产一区二区三区| 91经典在线视频| 欧美日韩国产激情| 最近中文字幕mv在线一区二区三区四区| 国产精品久久久亚洲| 日韩欧美主播在线| 98精品国产高清在线xxxx天堂| 57pao成人国产永久免费| 神马久久久久久| 日韩中文视频免费在线观看| 欧美电影免费观看高清| 国产日韩欧美一二三区| 国产视频在线一区二区| 国产成+人+综合+亚洲欧美丁香花| 日韩在线视频国产| 日韩精品在线观看一区二区| 亚洲一区二区免费在线| 国产日韩精品在线观看| 欧美午夜www高清视频| 精品国产一区二区三区久久久狼| 亚洲欧美中文在线视频| 中文字幕日韩欧美| 国产欧美一区二区三区久久人妖| 欧美国产日韩一区二区三区| 日韩精品久久久久| 亚洲白虎美女被爆操| 亚洲欧洲激情在线| 国产精品海角社区在线观看| 欧美日本亚洲视频| 欧美高清无遮挡| 2021久久精品国产99国产精品| 欧美激情成人在线视频| 中文字幕日韩欧美精品在线观看| 日韩高清av在线| 日韩欧美亚洲一二三区| 成人亚洲激情网| 尤物九九久久国产精品的特点| 尤物九九久久国产精品的特点| 欧美日韩亚洲天堂| 国产美女扒开尿口久久久| 日韩中文在线中文网三级| www.日韩欧美| 欧美丝袜第一区| 精品久久久久久久中文字幕| 91国产精品视频在线| 色悠悠久久88| 91av在线播放| 91av网站在线播放| 狠狠躁夜夜躁人人躁婷婷91| 国产精品丝袜久久久久久高清| 国模私拍一区二区三区| 日韩黄在线观看| 国产精品久久久久久一区二区| 日韩电影在线观看中文字幕| 精品视频在线播放色网色视频| 自拍亚洲一区欧美另类| 中文字幕av一区二区三区谷原希美| 国产成人福利网站| 91精品国产成人| 日韩精品在线电影| 久久人人97超碰精品888| 亚洲直播在线一区| 国产亚洲精品成人av久久ww| 国产美女精品视频| 欧美性高潮在线| 精品一区二区三区三区| 中文字幕久热精品在线视频| 亚洲精品久久久久久久久久久| 欧美裸体视频网站| 国产成人午夜视频网址| 日韩精品中文字幕有码专区| 91精品久久久久久久久| 日韩电影网在线|