精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一篇學(xué)會樹的子結(jié)構(gòu)

開發(fā) 前端
在我的數(shù)據(jù)結(jié)構(gòu)與算法實現(xiàn)系列文章——實現(xiàn)二叉搜索樹中,我們知道了二叉樹最多只能有兩個子節(jié)點:左子節(jié)點、右子節(jié)點。

前言

給定兩顆二叉樹A和B,如何判斷B是不是A的子結(jié)構(gòu),本文將分享一個方案用來解決此問題,歡迎各位感興趣的開發(fā)者閱讀本文。

思路分析

在我的數(shù)據(jù)結(jié)構(gòu)與算法實現(xiàn)系列文章——實現(xiàn)二叉搜索樹中,我們知道了二叉樹最多只能有兩個子節(jié)點:左子節(jié)點、右子節(jié)點。那么,在本題中要判斷是否包含,可以分為兩步來實現(xiàn):

  • 在樹A中找到和樹B的根節(jié)點的值一樣的節(jié)點R

如果樹A的節(jié)點與樹B的根結(jié)點相同,則執(zhí)行進一步的判斷(比對兩棵樹的子結(jié)構(gòu))得出比對結(jié)果

如果得出的結(jié)果為false,分別遞歸樹A的左子節(jié)點與右子節(jié)點跟樹B進行比對,直至任意一棵樹的葉子節(jié)點

  • 判斷樹A中以R為根節(jié)點的子樹是否包含和樹B一樣的結(jié)構(gòu)

如果樹B為null則代表樹A中包含樹B,返回true

如果樹A為null則代表樹A中不包含樹B,返回false

如果比對的兩個節(jié)點不等,則代表當前A的子樹中不包含樹B結(jié)構(gòu),返回false

否則,繼續(xù)執(zhí)行遞歸,直至任意一棵樹的葉子節(jié)點

圖片

實現(xiàn)代碼

通過上個章節(jié)的分析,我們已經(jīng)得出了具體的思路,接下來,我們就將思路轉(zhuǎn)換為代碼,如下所示:

實現(xiàn)主函數(shù),判斷B是否為A的子結(jié)構(gòu):

遞歸樹A將其與樹B的節(jié)點進行比對,找到相同的節(jié)點再做進一步的比對

export function TreeSubstructure(
treeA: BinaryTreeNode | null | undefined,
treeB: BinaryTreeNode | null | undefined
): boolean {
let result = false;
if (treeA != null && treeB != null) {
// 兩個節(jié)點相同
if (treeA.key === treeB.key) {
// 判斷樹A中是否包含樹B
result = treeAHaveTreeB(treeA, treeB);
}

// 繼續(xù)尋找左子樹與右子樹
if (!result) {
result = TreeSubstructure(treeA?.left, treeB);
}
if (!result) {
result = TreeSubstructure(treeA?.right, treeB);
}
}
return result;
}
  • 實現(xiàn)進一步的比對函數(shù),判斷樹A的子節(jié)點中是否包含跟樹B一樣的結(jié)構(gòu)
function treeAHaveTreeB(
treeA: BinaryTreeNode | null | undefined,
treeB: BinaryTreeNode | null | undefined
): boolean {
// 遞歸到了樹B的葉節(jié)點,代表該節(jié)點存在于樹A中
if (treeB == null) {
return true;
}
// 遞歸到樹A的葉節(jié)點,代表該節(jié)點不存在于樹A中
if (treeA == null) {
return false;
}
if (treeA.key !== treeB.key) {
return false;
}
// 左子樹與右子樹都相同
return (
treeAHaveTreeB(treeA?.left, treeB?.left) &&
treeAHaveTreeB(treeA?.right, treeB?.right)
);
}

注意:上述代碼中用到了遞歸,如果你對其不了解,可以移步我的另一篇文章:遞歸的理解與實現(xiàn)

代碼中還用到了一個自定義類型BinaryTreeNode,具體的類型定義請移步示例代碼章節(jié)。

測試用例

接下來,我們用思路分析章節(jié)中所舉的例子來測試下上述函數(shù)能否正確執(zhí)行。

const treeA: BinaryTreeNode = {
key: 8,
left: {
key: 8,
left: { key: 9 },
right: { key: 2, left: { key: 4 }, right: { key: 7 } }
},
right: { key: 7 }
};

const treeB: BinaryTreeNode = {
key: 8,
left: {
key: 9
},
right: {
key: 2
}
};

const result = TreeSubstructure(treeA, treeB);
console.log("treeA中包含treeB", result);

圖片

示例代碼

本文所用代碼完整版請移步:

  • TreeSubstructure.ts
  • TreeSubstructure-test
責任編輯:武曉燕 來源: 神奇的程序員
相關(guān)推薦

2022-03-14 08:16:00

Java程序開發(fā)

2021-11-29 10:40:58

二叉樹鏡像節(jié)點

2021-12-17 14:26:58

二叉樹節(jié)點數(shù)量

2022-02-07 11:01:23

ZooKeeper

2022-01-02 08:43:46

Python

2021-10-26 10:40:26

代理模式虛擬

2021-12-04 22:05:02

Linux

2022-05-17 08:02:55

GoTryLock模式

2021-08-01 07:19:16

語言OpenrestyNginx

2021-07-06 08:59:18

抽象工廠模式

2021-05-11 08:54:59

建造者模式設(shè)計

2021-07-05 22:11:38

MySQL體系架構(gòu)

2023-11-28 08:29:31

Rust內(nèi)存布局

2023-01-03 08:31:54

Spring讀取器配置

2022-08-23 08:00:59

磁盤性能網(wǎng)絡(luò)

2021-07-02 09:45:29

MySQL InnoDB數(shù)據(jù)

2022-08-26 09:29:01

Kubernetes策略Master

2022-04-12 08:30:52

回調(diào)函數(shù)代碼調(diào)試

2021-10-27 09:59:35

存儲

2022-10-20 07:39:26

點贊
收藏

51CTO技術(shù)棧公眾號

成人观看高清在线观看免费| 在线看国产精品| 92看片淫黄大片一级| 国产资源在线看| 精品一区二区三区在线观看国产| 久久国产精品网站| 黑丝av在线播放| 免费成人高清在线视频| 亚洲在线视频一区| 日韩精品一区二区三区丰满| 国产精品嫩草影院桃色| 亚洲激精日韩激精欧美精品| 亚洲午夜未删减在线观看| www.桃色.com| 亚洲精品.com| 亚洲福利一二三区| 亚洲一区精彩视频| 青青青草网站免费视频在线观看| 精品中文字幕一区二区| 欧美影院在线播放| 亚洲av无码一区二区三区在线| 婷婷激情久久| 日韩午夜三级在线| 天天天干夜夜夜操| av在线资源| 亚洲美女屁股眼交3| 欧洲精品亚洲精品| 少妇av在线播放| 国产一区二区美女诱惑| 国产精品91久久久| xxxx.国产| 最新日韩在线| 欧美精品激情在线观看| xxxx日本少妇| 天天操夜夜操国产精品| 国产一区二区激情| 黄色正能量网站| 精品视频在线观看网站| 欧美影视一区在线| 女人另类性混交zo| 伊人久久在线| 欧美日韩午夜剧场| 欧美久久在线观看| 男女在线观看视频| 一区二区三区四区高清精品免费观看| 亚洲精品不卡| 91社区在线| 国产欧美一区二区在线| 日本高清不卡三区| 九色在线播放| 国产日产欧美一区二区三区| 欧美极品一区二区| 日本视频在线观看一区二区三区 | 欧美人与物videos| 色哟哟一一国产精品| 天天天综合网| 久色乳综合思思在线视频| 在线日韩国产网站| 91成人观看| 另类图片亚洲另类| 欧美精品成人久久| 黄色一区二区三区四区| 久久久久久网址| 波多野结衣国产| 午夜在线播放视频欧美| 清纯唯美日韩制服另类| 中文字幕xxxx| 麻豆精品新av中文字幕| 成人免费观看网址| av免费观看网址| 顶级嫩模精品视频在线看| 俄罗斯精品一区二区三区| 天天操天天干天天爽| 久久色.com| 亚洲一区3d动漫同人无遮挡 | 美女流白浆视频| 超碰在线亚洲| 亚洲人成电影在线播放| 国产精品69久久久久孕妇欧美| 999久久久91| 欧美国产中文字幕| 日韩一区二区视频在线| 日韩国产欧美在线视频| 成人午夜在线观看| 韩国av在线免费观看| 久久一区二区视频| 影音先锋在线亚洲| wwwww亚洲| 日韩欧美精品中文字幕| 中文字幕亚洲影院| 精品精品国产毛片在线看| 亚洲欧洲第一视频| 免费黄色国产视频| 亚洲午夜极品| 国产精品偷伦免费视频观看的| 亚洲精品久久久久久动漫器材一区| 99久久免费国产| 午夜免费电影一区在线观看| 四虎影院观看视频在线观看| 疯狂蹂躏欧美一区二区精品| 亚洲精品手机在线观看| 久久悠悠精品综合网| www国产精品视频| 国产精品日日夜夜| 美女国产一区二区| 久久久久久99| 成人日日夜夜| 在线区一区二视频| 中文字幕乱视频| 99tv成人| 日韩av成人在线| 欧美一级做性受免费大片免费| 欧美激情中文字幕| 日本一道本久久| 久久久久亚洲精品中文字幕| 亚洲人成在线播放| 国产手机在线视频| 国产精品99久久久久久宅男| 日韩欧美一区二区三区四区五区| 爱情岛论坛亚洲品质自拍视频网站| 欧美美女黄视频| 色一情一交一乱一区二区三区 | 国产视频一区不卡| 国产一区二区网| 日本一区二区三区视频在线看| 亚洲人在线观看| 五月婷婷开心网| 国产91精品在线观看| 影音先锋欧美在线| 国产成人精品一区二区三区在线| 亚洲国产精品久久久| 欧美精品videos极品| 国产主播一区二区| 五码日韩精品一区二区三区视频| 26uuu亚洲电影| 日韩电影中文字幕在线观看| 久久久久久天堂| 国产一区二区成人久久免费影院| 亚洲春色在线视频| 国产精品亚洲成在人线| 亚洲性线免费观看视频成熟| 六月丁香婷婷综合| 91麻豆swag| 男人日女人bb视频| 日韩在线影视| 日韩免费av片在线观看| 日韩av地址| 色网站国产精品| 亚洲自拍偷拍图| 日日欢夜夜爽一区| 亚洲成人第一| 四虎精品一区二区免费| 北条麻妃99精品青青久久| 久久久久久亚洲av无码专区| 久久精品视频免费| 亚洲精品一二三四五区| 色喇叭免费久久综合| 成人欧美一区二区三区黑人| 午夜不卡视频| 欧美一区二区视频免费观看| 麻豆视频在线观看| caoporen国产精品视频| 成人黄色片视频| 精品一区二区三区中文字幕老牛 | 人妻熟妇乱又伦精品视频| 日韩av不卡一区| 日本一区二区在线播放| 福利成人在线观看| 7777精品伊人久久久大香线蕉经典版下载| 永久免费看片直接| 成人禁用看黄a在线| 日本免费不卡一区二区| 精品国产一区二区三区久久久樱花 | 亚洲一区二区免费视频软件合集| 亚洲伦理一区二区| 久久久之久亚州精品露出| 你懂的在线播放| 欧美日韩一区二区三区四区 | 国产午夜视频在线观看| 欧美日韩一区精品| 精品一区二区三区人妻| 久久免费国产精品| 亚洲综合123| 午夜影院日韩| 免费国产成人看片在线| 美女呻吟一区| 国产在线精品播放| av在线加勒比| 中文字幕精品久久| 亚洲精品.www| 欧美三级一区二区| 国产精品19乱码一区二区三区| 久久精品视频在线看| 99精品视频免费版的特色功能| 国产日韩高清一区二区三区在线| 午夜精品电影在线观看| 91亚洲无吗| 国产精品男人爽免费视频1| av电影免费在线看| 俺去亚洲欧洲欧美日韩| 日本啊v在线| 欧美一区二区三区在线观看| 少妇高潮av久久久久久| 一区二区三区中文在线| 日本爱爱爱视频| 成人av在线电影| 五月花丁香婷婷| 亚洲女人av| 欧美黑人在线观看| 99久久久久国产精品| 蜜桃麻豆91| 9l视频自拍九色9l视频成人| 国产有码在线一区二区视频| 中文在线免费二区三区| 欧美乱妇40p| 免费在线你懂的| 伊人久久五月天| 日韩三级电影网| 亚洲国产精品免费| 国产女人18毛片18精品| 欧美午夜精品理论片a级按摩| 日韩免费观看一区二区| 亚洲免费在线电影| 日韩精品久久久久久久的张开腿让 | 欧美视频不卡中文| 精品在线免费观看视频| 亚洲视频在线一区二区| 中文字幕一区二区三区人妻电影| 成人深夜视频在线观看| 色男人天堂av| 国产一区二区三区在线观看免费视频| 欧美激情国产精品日韩| 99成人在线| 男女视频网站在线观看| 国内精品福利| 99久久免费观看| 欧美日韩第一区| 日韩欧美猛交xxxxx无码| 欧美fxxxxxx另类| 国产精品免费看久久久无码| 亚洲一区色图| 国产一二三四区在线观看| 欧美国产精品| 日韩精品久久一区二区| 在线观看国产精品入口| 免费观看国产视频在线| 国产精品久久久久蜜臀| 中文字幕一区二区三区精彩视频| 日本一区二区三区视频| 一本色道久久综合亚洲精品婷婷| 日韩1区在线| 国产日韩视频在线播放| 91精品国偷自产在线电影| 亚洲区成人777777精品| 欧美在线高清| 欧美 日韩 亚洲 一区| 夜夜精品视频| 自拍偷拍 国产| 蜜臀久久99精品久久久久宅男 | va亚洲va日韩不卡在线观看| 国产极品一区二区| ww亚洲ww在线观看国产| av网在线播放| 亚洲欧美在线视频观看| 欧美黄色免费在线观看| 午夜亚洲国产au精品一区二区 | 91精品国产综合久久久久久 | 亚洲精品天天看| 国产高清美女一级毛片久久| 在线视频免费一区二区| 黄色网址在线免费观看| 高清欧美电影在线| 国产高清不卡| 91麻豆国产精品| 狼人天天伊人久久| 亚洲最新在线| 在线日韩电影| 在线免费观看av的网站| 国产精品77777竹菊影视小说| 女同性恋一区二区三区| 国产亚洲福利社区一区| 日韩av手机在线免费观看| 亚洲曰韩产成在线| 五月婷婷激情视频| 在线播放91灌醉迷j高跟美女 | 久久精品人人做| 欧美激情图片小说| 欧美日韩一区二区三区| 91在线观看喷潮| 亚洲国产日韩欧美综合久久| 国产天堂在线| 久久久久国产精品www| 欧洲成人一区| 国产一区二区中文字幕免费看| 精品国产一区二区三区香蕉沈先生 | 成人免费高清在线播放| 欧美精品中文字幕一区| 中文字幕乱码在线播放| 亚洲自拍偷拍网址| 国语产色综合| 国产av国片精品| 国产尤物一区二区| 欧美做受xxxxxⅹ性视频| 亚洲精品成人精品456| 欧美日韩综合一区二区三区| 精品精品国产高清a毛片牛牛| 国产区av在线| 51久久精品夜色国产麻豆| 欧美一区在线观看视频| 亚洲国产欧美一区二区三区不卡| 亚洲福利一区| 国产九九九视频| 中文字幕第一区| 亚洲欧美日韩激情| 亚洲国产精品久久久久| 污视频在线免费观看网站| 国产精品久久一| 中文字幕精品影院| 国产精品久久..4399| 国产精品18久久久久久久久| 毛片视频免费播放| 色欧美日韩亚洲| 四虎成人免费在线| 久久久久久久久久久国产| 午夜精品在线| 日本老太婆做爰视频| 极品美女销魂一区二区三区免费| 女女互磨互喷水高潮les呻吟 | 一区二区视频免费| 亚洲毛片一区二区| 三级在线观看视频| 国产一区二区黄色| 亚洲另类自拍| 中国av免费看| 欧美日韩在线另类| 日本激情一区二区| 91超碰中文字幕久久精品| 91精品短视频| 成年人看的毛片| 成人免费高清视频| 久久精品国产av一区二区三区| 日韩一区二区麻豆国产| 在线观看操人| 91精品综合久久| 亚洲精品1区| 国产麻豆天美果冻无码视频| 精品久久久在线观看| 深爱五月激情五月| 欧美野外猛男的大粗鳮| 五月国产精品| 999精品网站| 亚洲国产精品二十页| 国产一区二区在线不卡| 久久夜色精品亚洲噜噜国产mv| 国内不卡的一区二区三区中文字幕 | 欧美天堂亚洲电影院在线观看| 久久久久国产免费| 欧美日韩国产页| 国产在线高清| 成人高清视频观看www| 欧美黄色免费| 波多野结衣av在线免费观看| 日本丰满少妇一区二区三区| 中国日本在线视频中文字幕| 成人福利免费观看| 亚洲二区免费| 国产精品20p| 欧美精品aⅴ在线视频| 污污的网站在线看| 久久影视中文粉嫩av| 秋霞影院一区二区| 私库av在线播放| 亚洲女人天堂av| 亚洲青青一区| 男人操女人逼免费视频| 中文字幕精品一区二区精品绿巨人| 国产精品老熟女视频一区二区| 精品自拍视频在线观看| 日韩高清成人在线| 亚洲视频第二页| 亚洲国产aⅴ成人精品无吗| 四虎成人免费在线| 91欧美激情另类亚洲| 国产精品美女久久久| 国产不卡在线观看视频| 欧美不卡视频一区| 精品成人免费一区二区在线播放| 日本精品免费视频| 26uuu亚洲综合色| 国产乱人乱偷精品视频| 136fldh精品导航福利| 欧美大黑bbbbbbbbb在线| 无码国产69精品久久久久网站| 在线视频一区二区三| 丰满大乳少妇在线观看网站| 日韩高清专区| 播五月开心婷婷综合| 国产精品无码白浆高潮| 欧美在线观看日本一区| 中文字幕免费一区二区三区|