大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java二叉樹遞歸算法,初學者入門收藏

Java二叉樹遞歸算法,初學者入門收藏

更新時間:2020-09-16 15:17:56 來源:動力節點 瀏覽2717次

Java算法:遞歸二叉樹算法

二叉樹的本質是遞歸結構,很多可以使用遞歸分治法完成的,推廣了遍歷算法。

在只給定指向樹的一個指針的前提下,經常需要找到樹的各種結構參數的值。

例1:樹參數的計算,樹的結點樹和高度

private?static?int?count(Node?h){???
????if(h?==?null){???
????????reutrn?0;???
????}???
????return?count(h.l)?+?count(h.r)?+?1;???
}???
int?count(){???
????return?count(root);???
}???
private?static?int?height(Node?h){???
????if(h?==?null){???
????????return?-1;???
????}???
????int?u?=?height(h.l),?v?=?height(h.r);???
????if(u?>?v){???
????????return?u?+?1;???
????}else{???
????????return?v?+?1;???
????}???
}???
int?height(){???
????return?height(root);???
}

例2:快速的輸出樹方法

static?void?printNode(Item?x,?int?h){???
????for(int?i?=?0;?i?<?h;?i++){???
????????System.out.println("???");???
????}???
????System.out.println("["?+?x?+?"]");???
}???
private?static?void?showR(Node?t,?int?h){???
????if(t?==?null){???
????????printNode(null,?h);???
????????return;???
????}???
????showR(t.r,?h?+?1);???
????printNode(t.item,?h);???
????showR(t.l,?h?+?1);???
}???
void?show(){???
????showR(root,?0);???
}

例3:競標賽樹的構建(分支遞歸策略)

static?class?Node{???
????double?val;???
????Node?l;???
????Node?r;???
????Node(double?v,?Node?l,?Node?r){???
????????this.val?=?v;???
????????this.l?=?l;???
????????this.r?=?r;???
????}???
}???
static?Node?max(double?a[],?int?l,?int?r){???
????int?m?=?(l?+?r)/2;???
????Node?x?=?new?Node(a[m],?null,?null);???
????if(l?==?r){???
????????return?x;???
????}???
????x.l?=?max(a,?l,?m);???
????x.r?=?max(a,?m?+?1,?r);???
????double?u?=?x.l.val,?v?=?x.r.val;???
????if(u?>?v){???
????????x.val?=?u;???
????}else{???
????????x.val?=?v;???
????}???
????return?x;???
}

在某些情況下,構建遞歸數據結構可能要比通過掃描數據找到最大值好。

使二叉樹構建前綴表達式。

例4:解析樹的構建

static?Node?parse(){???
????char?t?=?a[i++];???
????Node?x?=?new?Node(t);???
????if((t?==?'+')?||?(t?==?'*')){???
????????x.l?=?parse();???
????????x.r?=?parse();???
????}???
????return?x;???
}

以上就是動力節點java培訓機構的小編針對“Java二叉樹遞歸算法,初學者入門收藏”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 91热久久免费频精品99欧美 | 亚洲精品在线不卡 | 日本无翼乌全彩无遮挡动漫 | 久草网在线 | 中文字幕国产 | 日本人一级毛片免费完整视频 | 亚洲伦理| 狠狠色欧美亚洲狠狠色五 | 骚视频在线观看 | 视频二区精品中文字幕 | 精品一区二区三区四区 | 亚洲一区二区三区在线网站 | 4hu四虎| 久久这里只有精品66re99 | 亚洲精品国产综合99久久一区 | 久久天天躁狠狠躁夜夜中文字幕 | 亚洲精品字幕一区二区三区 | 在线羞羞视频 | 一级美国乱色毛片 | 久久精彩| 亚洲国产精品日韩在线观看 | 欧美肥婆videos另类 | 豆奶视频污 | 两性色午夜视频免费老司机 | 一级毛片在线免费播放 | 国产精品成人第一区 | 伊人久久大香线蕉综合bd高清 | 婷婷色在线播放 | 97网站| 麻豆国产原创最新在线视频 | 日韩一区二区三区在线观看 | 久久99国产精品一区二区 | 色综合天天综合网站中国 | 美国一级毛片片免费 | 中文字幕色婷婷在线精品中 | 一级啊片| 精品外国呦系列在线观看 | 九九热播视频 | 777奇米影视久久激情日韩欧美 | 一本大道香蕉大vr在线吗视频 | 成人性色生活片免费看爆迷你毛片 |