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

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java二叉樹(shù)遞歸算法,初學(xué)者入門(mén)收藏

Java二叉樹(shù)遞歸算法,初學(xué)者入門(mén)收藏

更新時(shí)間:2020-09-16 15:17:56 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2590次

Java算法:遞歸二叉樹(shù)算法

二叉樹(shù)的本質(zhì)是遞歸結(jié)構(gòu),很多可以使用遞歸分治法完成的,推廣了遍歷算法。

在只給定指向樹(shù)的一個(gè)指針的前提下,經(jīng)常需要找到樹(shù)的各種結(jié)構(gòu)參數(shù)的值。

例1:樹(shù)參數(shù)的計(jì)算,樹(shù)的結(jié)點(diǎn)樹(shù)和高度

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:快速的輸出樹(shù)方法

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:競(jìng)標(biāo)賽樹(shù)的構(gòu)建(分支遞歸策略)

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;???
}

在某些情況下,構(gòu)建遞歸數(shù)據(jù)結(jié)構(gòu)可能要比通過(guò)掃描數(shù)據(jù)找到最大值好。

使二叉樹(shù)構(gòu)建前綴表達(dá)式。

例4:解析樹(shù)的構(gòu)建

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

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java二叉樹(shù)遞歸算法,初學(xué)者入門(mén)收藏”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 五月婷婷伊人网 | 国内精品视频一区二区三区八戒 | 久青草国产在线 | 九九热在线精品视频 | 中文婷婷 | 波多野结衣高清在线播放 | 欧美精品亚洲精品日韩一区 | 农村妇女又色黄一级毛片 | 99久久国产综合精品女不卡 | 这里只有精品在线观看 | 国产精品国产亚洲精品看不卡 | 亚洲射图 | 一二三四社区在线播放 | 精品一区二区三区三区 | 日本不卡在线观看免费v | 高清中文字幕视频在线播 | 五月婷婷天 | 四虎影片国产精品8848 | 国产福利不卡视频在免费播放 | 久久永久免费中文字幕 | 伊人成人久久 | 久久九九青青国产精品 | 亚洲精品美女久久777777 | 亚洲国产精品毛片∧v卡在线 | a一级特黄日本大片 s色 | 在线观看日本一区 | 欧美另类亚洲一区二区 | 天天爽| 国产爱v| 欧美成人免费高清网站 | 91热爆国产露脸 | 色88888久久久久久影院 | 国产欧美久久精品 | 深夜福利网站在线观看 | 欧美性网| 元龙第三季动漫在线观看免费版 | 久久精品国产一区二区三区不卡 | 在线播放人成午夜免费视频 | 精品日本亚洲一区二区三区 | 久草免费新视频 | 天天色狠狠干 |