現(xiàn)在有一顆二叉樹
我們將每個(gè)節(jié)點(diǎn)看做一個(gè)根節(jié)點(diǎn)刨仑,并對(duì)其進(jìn)行前序遍歷析珊,可以得到
ABC ? ? ? BDE ? ? ?D ? ? ? E ? ? ?CF ? ? F
可以發(fā)現(xiàn)贝椿,每個(gè)節(jié)點(diǎn)都出現(xiàn)了兩次,可以認(rèn)為是相鄰節(jié)點(diǎn)曾沈,我們按照順序進(jìn)行組合这嚣,比如ABC和BDE,因?yàn)镈E是以B為根節(jié)點(diǎn)遍歷出來的塞俱,所以優(yōu)先和B組合姐帚,就可以得到ABDEC,將只有一個(gè)節(jié)點(diǎn)的排除障涯,那么我們得到ABDECF這就是前序遍歷罐旗。
如果我們對(duì)其進(jìn)行中序遍歷,可以得到
BAC ? ? DBE ? ? ?D ? ? ?E ? ? ?CF ? ? F
同樣的組合唯蝶,可以得到DBEACF九秀。
其實(shí)這個(gè)規(guī)律,是參考局部的排序能夠保證整體的排序方式粘我,所以我們需要對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行相應(yīng)的遍歷操作(進(jìn)行入棧)鼓蜒,當(dāng)?shù)诙斡龅皆摴?jié)點(diǎn),就可以入隊(duì)列了涂滴。