久久天天躁狠狠躁夜夜躁,国产精品入口福利,97久久精品人人爽人人爽蜜臀 ,中文字幕国产精品一区二区

當(dāng)前位置首頁 > 高中物理 > 教學(xué)視頻

(連載)二叉樹的應(yīng)用場景

更新時間:2023-08-11 文章作者:佚名 信息來源:網(wǎng)絡(luò)整理 閱讀次數(shù):

前言RYW物理好資源網(wǎng)(原物理ok網(wǎng))

之前記錄過二叉樹的遍歷方法。 這次記錄一下二叉樹的鏡像樹。 就我個人而言,我不喜歡太多的文字。RYW物理好資源網(wǎng)(原物理ok網(wǎng))

1.什么是鏡像樹?RYW物理好資源網(wǎng)(原物理ok網(wǎng))

鏡樹,簡單的理解就是中間放一個全身鏡,全身鏡的內(nèi)側(cè)和外側(cè)的關(guān)系是對稱的。讓我想起了平面鏡成像RYW物理好資源網(wǎng)(原物理ok網(wǎng))

鏡像樹無非就是A、B、C有樹關(guān)系,頭部的鏡像就是它自己RYW物理好資源網(wǎng)(原物理ok網(wǎng))

我簡單解釋一下:RYW物理好資源網(wǎng)(原物理ok網(wǎng))

C節(jié)點:C是根節(jié)點,C的鏡像節(jié)點就是C‘
B節(jié)點:C的左節(jié)點B = C'的右節(jié)點B‘
A節(jié)點:B的左節(jié)點A = B‘的右節(jié)點A’  且 B的右節(jié)點null = B’的左節(jié)點
RYW物理好資源網(wǎng)(原物理ok網(wǎng))

2. 鏡像樹的應(yīng)用場景RYW物理好資源網(wǎng)(原物理ok網(wǎng))

目前大多在哪里遇到:刷題RYW物理好資源網(wǎng)(原物理ok網(wǎng))

我還沒有遇到過具體的應(yīng)用場景,所以在這里留下記錄,等以后遇到了再補充。RYW物理好資源網(wǎng)(原物理ok網(wǎng))

3.如何確認(rèn)這是一棵鏡像樹RYW物理好資源網(wǎng)(原物理ok網(wǎng))

剛才提到應(yīng)用場景是刷題。 這是李口原來的問題。 我不會發(fā)布問題的具體描述。 如果有需要,您可以點擊下面的鏈接來進(jìn)行操作。 基本上,這意味著給你一個樹的頭節(jié)點。 ,你這樣填充,讓這個技巧RYW物理好資源網(wǎng)(原物理ok網(wǎng))

101.對稱二叉樹RYW物理好資源網(wǎng)(原物理ok網(wǎng))

Sword指的是。 對稱二叉樹RYW物理好資源網(wǎng)(原物理ok網(wǎng))

先別急著寫代碼,先考慮如何判斷一個節(jié)點是否鏡像(對稱)。RYW物理好資源網(wǎng)(原物理ok網(wǎng))

我懷里有兩個孩子,右邊的女兒和右邊的女兒一樣RYW物理好資源網(wǎng)(原物理ok網(wǎng))

左頭==右頭RYW物理好資源網(wǎng)(原物理ok網(wǎng))

假設(shè)我們有這樣一個方法來判斷一個節(jié)點是否是鏡像平面鏡成像規(guī)律圖表,那么我們只要一層層遞歸就可以得到整棵樹是否是鏡像的技巧了?RYW物理好資源網(wǎng)(原物理ok網(wǎng))

下面是寫法:RYW物理好資源網(wǎng)(原物理ok網(wǎng))

初始根節(jié)點,將自身與自身進(jìn)行比較以確定邊界條件:RYW物理好資源網(wǎng)(原物理ok網(wǎng))

2.1 如果兩個節(jié)點其中一個不為空,另一個為空,則直接返回false。RYW物理好資源網(wǎng)(原物理ok網(wǎng))

2.2 如果兩個節(jié)點都為空,則直接返回true。 當(dāng)判斷兩個節(jié)點的值是否相同時,如果相同則遞歸進(jìn)行。RYW物理好資源網(wǎng)(原物理ok網(wǎng))

	public boolean isSymmetric(TreeNode root) {
        return isSameNode(root,root);
    }
	public static boolean isSameNode(TreeNode p, TreeNode q) {
		if (p == null ^ q == null) {
			return false;
		}
		if (p == null && q == null) {
			return true;
		}
		return p.val == q.val && isSameNode(p.left, q.right) && isSameNode(p.right, q.left);
	}
RYW物理好資源網(wǎng)(原物理ok網(wǎng))

四、回顧二叉樹的遍歷方法RYW物理好資源網(wǎng)(原物理ok網(wǎng))

之前寫過二叉樹的遍歷方法:前序、中序、后序RYW物理好資源網(wǎng)(原物理ok網(wǎng))

優(yōu)先順序:先左后右RYW物理好資源網(wǎng)(原物理ok網(wǎng))

中間順序:先左,后頭,再右RYW物理好資源網(wǎng)(原物理ok網(wǎng))

后續(xù)順序:先左,后右平面鏡成像規(guī)律圖表,最后頭RYW物理好資源網(wǎng)(原物理ok網(wǎng))

后來寫完復(fù)制代碼后,提出了遞歸順序:每個節(jié)點進(jìn)入3次。RYW物理好資源網(wǎng)(原物理ok網(wǎng))

第一個復(fù)制結(jié)果中,是預(yù)購的RYW物理好資源網(wǎng)(原物理ok網(wǎng))

第二次復(fù)制的結(jié)果是中序的RYW物理好資源網(wǎng)(原物理ok網(wǎng))

第三個副本的結(jié)果是后序RYW物理好資源網(wǎng)(原物理ok網(wǎng))

再次手寫遞歸序列代碼:RYW物理好資源網(wǎng)(原物理ok網(wǎng))

	public void ds(TreeNode head){
		//邊界條件
		if(head==null){
			return;
		}
		//第一次進(jìn)head節(jié)點
		System.out.println("我是先序:"+head.val);
		ds(head.left);
		//第二次進(jìn)head節(jié)點
		System.out.println("我是中序:"+head.val);
		ds(head.right);
		//第三次進(jìn)head節(jié)點
		System.out.println("我是后序:"+head.val);
	}
RYW物理好資源網(wǎng)(原物理ok網(wǎng))

發(fā)表評論

統(tǒng)計代碼放這里
主站蜘蛛池模板: 高青县| 信丰县| 和龙市| 盈江县| 民权县| 宁南县| 宜川县| 大理市| 得荣县| 宁国市| 明光市| 南充市| 蓬安县| 灵台县| 常熟市| 潮安县| 昭苏县| 太原市| 临沂市| 张家界市| 扶余县| 南昌市| 黄梅县| 宜宾市| 赫章县| 贵港市| 成都市| 金寨县| 西青区| 宝兴县| 合肥市| 阿克陶县| 平江县| 个旧市| 五原县| 东莞市| 瓮安县| 云安县| 彰化县| 喀喇沁旗| 梅河口市|