如何推导二叉树遍历的中序和后序?
中序遍历:DEBAC
后序遍历:DABEC
推导如下:
1、从后序可知树根为C,因为最后的节点是树根。
2、从中序的规则可知树根在中间,树根的左边是左孩子,右边是右孩子。很明显树根C是没有右孩子,只有左孩子DEBA。
中序遍历:DEBA
后序遍历:DABE
推出E是左子树的根结点,并且存在左子树D,右子树BA,因为从中序遍历可知E的左边是D,右边是BA
中序遍历:BA
后序遍历:AB
推出B是右子树的根结点,并且存在右子树,但没有左子树,因为从中序遍历可知B只有右子树,没有左子树。
还原二叉树如下图:
前序为:CEDBA
推导的方法只需记住下面的规则即可,然后逐步分割法,就像我上面那样推导。拿到左右子树反复套用下面的遍历规则,很快就可以还原一棵完整的树。
1.先序遍历:根、左、右
2.中序遍历:左、根、右
3.后序遍历: 左、右、根
绛旓細鍚庡簭閬嶅巻:DABEC 鎺ㄥ濡備笅锛1銆佷粠鍚庡簭鍙煡鏍戞牴涓篊,鍥犱负鏈鍚庣殑鑺傜偣鏄爲鏍广2銆佷粠涓簭鐨勮鍒欏彲鐭ユ爲鏍瑰湪涓棿,鏍戞牴鐨勫乏杈规槸宸﹀瀛,鍙宠竟鏄彸瀛╁瓙銆傚緢鏄庢樉鏍戞牴C鏄病鏈夊彸瀛╁瓙,鍙湁宸﹀瀛怐EBA銆備腑搴忛亶鍘:DEBA 鍚庡簭閬嶅巻:DABE 鎺ㄥ嚭E鏄乏瀛愭爲鐨勬牴缁撶偣,骞朵笖瀛樺湪宸﹀瓙鏍慏,鍙冲瓙鏍態A,鍥犱负浠庝腑搴忛亶鍘嗗彲鐭鐨勫乏杈规槸D...
绛旓細浜屽弶鏍戠殑鍏堝簭锛屼腑搴忥紝鍚庡簭纭畾鐨勬柟娉曞涓嬶細1銆佹牴鎹悗搴忛亶鍘嗙殑鐗圭偣锛屾垜浠煡閬撳悗搴忛亶鍘嗘渶鍚庝竴涓粨鐐瑰嵆涓烘牴缁撶偣锛屽嵆鏍圭粨鐐逛负G銆2銆佽瀵熶腑搴忛亶鍘咥DEFGHMZ銆傚叾涓璻oot鑺傜偣G宸︿晶鐨凙DEF蹇呯劧鏄痳0ot鐨勫乏瀛愭爲锛孏鍙充晶鐨凥MZ蹇呯劧鏄痳oot鐨勫彸瀛愭爲銆3銆佽瀵熷乏瀛愭爲ADEF锛屽乏瀛愭爲鐨勪腑鐨勬牴鑺傜偣蹇呯劧鏄ぇ鏍戠殑root鐨刲eftch...
绛旓細鍏堝簭锛氭槸浜屽弶鏍戦亶鍘嗕腑鐨勪竴绉嶏紝鍗冲厛璁块棶鏍圭粨鐐癸紝鐒跺悗閬嶅巻宸﹀瓙鏍戯紝鍚庨亶鍘嗗彸瀛愭爲銆傞亶鍘嗗乏銆佸彸瀛愭爲鏃讹紝鍏堣闂牴缁撶偣锛屽悗閬嶅巻宸﹀瓙鏍戯紝鍚庨亶鍘嗗彸瀛愭爲锛屽鏋滀簩鍙夋爲涓虹┖鍒欒繑鍥炪備腑搴忥細鏄簩鍙夋爲閬嶅巻涓殑涓绉嶏紝鍗冲厛閬嶅巻宸﹀瓙鏍戯紝鍚庤闂牴缁撶偣锛岀劧鍚庨亶鍘嗗彸瀛愭爲銆傝嫢浜屽弶鏍戜负绌哄垯缁撴潫杩斿洖銆傚悗搴忥細鏄簩鍙夋爲閬嶅巻涓殑...
绛旓細鍓嶅簭閬嶅巻鐨勬柟寮忔槸棣栧厛璁块棶鏍硅妭鐐癸紝鐒跺悗璁块棶宸﹀瓙鏍戯紝鏈鍚庤闂彸瀛愭爲銆涓簭閬嶅巻鐨勬柟寮忔槸棣栧厛璁块棶宸﹀瓙鏍戯紝鎺ョ潃璁块棶鏍圭粨鐐癸紝鏈鍚庤闂彸瀛愭爲銆傚悗搴忛亶鍘嗙殑鏂瑰紡鏄鍏堣闂乏瀛愭爲锛屾帴鐫璁块棶鍙冲瓙鏍戯紝鏈鍚庤闂牴缁撶偣銆傛瘮濡傛甯哥殑涓涓弧鑺傜偣锛孉鏄牴鑺傜偣銆丅鏄乏鑺傜偣銆丆鏄彸鑺傜偣锛屽墠搴忛『搴忔槸ABC锛堟牴鑺傜偣鎺掓渶鍏堬紝鐒跺悗...
绛旓細1銆鍏堟牴閬嶅巻涓鑸槸鍏堝簭閬嶅巻(Pre-order)锛屾寜鐓ф牴宸﹀彸鐨勯『搴忔部涓瀹氳矾寰勭粡杩囪矾寰勪笂鎵鏈夌殑缁撶偣銆傚湪浜屽弶鏍戜腑锛屽厛鏍瑰悗宸﹀啀鍙炽傚阀璁帮細鏍瑰乏鍙炽傞鍏堣闂牴缁撶偣鐒跺悗閬嶅巻宸﹀瓙鏍戯紝鏈鍚庨亶鍘嗗彸瀛愭爲銆傚湪閬嶅巻宸︺佸彸瀛愭爲鏃讹紝浠嶇劧鍏堣闂牴缁撶偣锛岀劧鍚庨亶鍘嗗乏瀛愭爲锛屾渶鍚庨亶鍘嗗彸瀛愭爲锛屽鏋滀簩鍙夋爲涓虹┖鍒欒繑鍥炪備緥濡傦紝涓嬪浘鎵绀...
绛旓細鍏堝簭閬嶅巻浜屽弶鏍戣鍒欙細鏍-宸-鍙 1銆佽闂牴缁撶偣锛2銆佸厛搴忛亶鍘嗗乏瀛愭爲锛3銆佸厛搴忛亶鍘嗗彸瀛愭爲銆涓簭閬嶅巻浜屽弶鏍瑙勫垯锛氬乏-鏍-鍙 1銆佸厛涓簭閬嶅巻宸﹀瓙鏍戯紱2銆佸啀璁块棶鏍硅妭鐐癸紱3銆佹渶鍚庤闂腑搴忛亶鍘嗗彸瀛愭爲銆鍚庡簭閬嶅巻浜屽弶鏍瑙勫垯锛氬乏-鍙-鏍 1銆佸悗搴忛亶鍘嗗乏瀛愭爲锛2銆佸悗搴忛亶鍘嗗彸瀛愭爲锛3銆佽闂牴缁撶偣銆
绛旓細涓簭閬嶅巻锛氬厛閬嶅巻宸﹀瓙鏍戯紝鍐嶈緭鍑虹埗鑺傜偣锛岀劧鍚庨亶鍘嗗彸瀛愭爲銆鍚庡簭閬嶅巻锛氬厛閬嶅巻宸﹀瓙鏍戯紝鍐嶉亶鍘嗗彸瀛愭爲锛屾渶鍚庤緭鍑虹埗鑺傜偣銆傚鍥炬墍绀虹殑浜屽弶鏍锛屽畠鐨勫墠涓悗杈撳嚭椤哄簭鍒嗗埆灏辨槸锛氬墠搴忥細1鏄撳ぇ甯堛2瀵掑啺灏勬墜銆3鐩插儳銆4鐩栦鸡 涓簭锛2瀵掑啺灏勬墜銆1鏄撳ぇ甯堛3鐩插儳銆4鐩栦鸡 鍚庡簭锛2瀵掑啺灏勬墜銆4鐩栦鸡銆3鐩插儳銆1鏄撳ぇ甯 浜...
绛旓細涓簭閬嶅巻锛堜腑鏍归亶鍘嗭級锛氬厛璁块棶宸﹀瓙鏍戯紝鐒跺悗璁块棶鏍硅妭鐐癸紝鏈鍚庤闂彸瀛愭爲銆備緥濡傦紝瀵逛簬浜屽弶鏍1涓2涓3涓4涓5锛涓簭閬嶅巻鐨缁撴灉涓2涓1涓4涓3涓5銆傚彲浠ユ兂璞℃垚鎸夋爲鐢诲ソ鐨勫乏鍙充綅缃姇褰变笅鏉ャ傚悗搴忛亶鍘嗭細鍏堣闂乏瀛愭爲锛岀劧鍚庤闂彸瀛愭爲锛屾渶鍚庤闂牴鑺傜偣銆備緥濡傦紝瀵逛簬浜屽弶鏍1涓2涓3涓4涓5锛鍚庡簭閬嶅巻鐨缁撴灉涓4...
绛旓細鍓嶅簭閬嶅巻棣栧厛璁块棶鏍圭粨鐐圭劧鍚庨亶鍘嗗乏瀛愭爲锛屾渶鍚庨亶鍘嗗彸瀛愭爲銆傚湪閬嶅巻宸︺佸彸瀛愭爲鏃讹紝浠嶇劧鍏堣闂牴缁撶偣锛岀劧鍚庨亶鍘嗗乏瀛愭爲锛屾渶鍚庨亶鍘嗗彸瀛愭爲銆涓簭閬嶅巻棣栧厛閬嶅巻宸﹀瓙鏍戯紝鐒跺悗璁块棶鏍圭粨鐐癸紝鏈鍚庨亶鍘嗗彸瀛愭爲銆傝嫢浜屽弶鏍涓虹┖鍒欑粨鏉熻繑鍥炪傚洜姝わ紝A鏄牴缁撶偣锛孊鏄疉鐨勫乏瀛愭爲锛孎鏄疉鐨勫彸瀛愭爲銆侲鏄疊鐨勫乏瀛愭爲锛孋鏄疊鐨勫彸瀛愭爲锛...
绛旓細锛1锛夊墠搴忛亶鍘嗙涓涓妭鐐逛负鏍硅妭鐐癸紙2锛涓簭閬嶅巻鐗规т腑闂翠负鏍癸紝宸︿晶涓哄乏瀛愭爲锛屽彸渚т负鍙冲瓙鏍戯紙3锛鍚庡簭閬嶅巻鏈鍚庝竴涓妭鐐逛负鏍硅妭鐐 瑙o細绗竴姝ワ細鏍规嵁鍓嶅簭閬嶅巻绗竴涓妭鐐逛负鏍硅妭鐐瑰緱鐭ワ紝A涓烘牴 绗簩姝ワ細鏍规嵁涓簭DBEAC寰楃煡锛孉鍓嶉潰鐨勬槸宸﹀瓙鏍戯紝璇存槑 DBE鍦 A宸︿晶锛孋鍦ㄥ彸渚э紝鐩墠鍙互寰楀嚭AC鐨勪綅缃 绗笁姝...