树的三种主要遍历方法是什么啊,谢谢了 树结构的定义,几种遍历方法
\u300a\u6570\u636e\u7ed3\u6784\u300b\u6811\u7684\u4e09\u79cd\u4e3b\u8981\u7684\u904d\u5386\u65b9\u6cd5\u662f\uff1a\uff1f\uff0c\uff1f\u548c\u5c42\u6b21\u904d\u5386\u3002\u5e94\u8be5\u662f\u5148\u5e8f\u904d\u5386 \u540e\u5e8f\u904d\u5386
\u697c\u4e0a\u7684\u662f\u4e8c\u53c9\u6811 \u641e\u9519\u4e86
\u4ee5 C \u8bed\u8a00\u7a0b\u5e8f\u8bbe\u8ba1\u4e3a\u4f8b\uff0c\u901a\u4fd7\u5730\u8bf4\uff0c\u6700\u7b80\u5355\u7684\u6811\u7ed3\u6784\u7684\u5b9a\u4e49\u662f\u7531\u4e00\u4e2a\u6570\u636e\u57df\u3001\u4ee5\u53ca\u4e00\u4e2a\u6307\u9488\u57df\u7ec4\u6210\u7684\u6570\u636e\u7ed3\u6784\u3002\u5bf9\u4e8e\u4e8c\u53c9\u6811\u800c\u8a00\uff0c\u904d\u5386\u65b9\u6cd5\u6709\uff1a\u524d\u5e8f\uff08\u6839\u5de6\u53f3\uff09\u3001\u4e2d\u5e8f\uff08\u5de6\u6839\u53f3\uff09\u3001\u540e\u5e8f\uff08\u5de6\u53f3\u6839\uff09\u4e09\u79cd\u904d\u5386\u65b9\u6cd5\u3002
\u81f3\u4e8e\u8bf4\u5728\u7a0b\u5e8f\u8bbe\u8ba1\u4e0a\u5982\u4f55\u901a\u8fc7\u7a0b\u5e8f\u8bbe\u8ba1\u8bed\u8a00\u4ee3\u7801\u6765\u5b9e\u73b0\uff0c\u73b0\u5728\u6709\u5f88\u591a\u7684\u6570\u636e\u7ed3\u6784\uff08C\u8bed\u8a00\u7248\uff09\u4e0a\u9762\u90fd\u4f1a\u6709\u5404\u79cd\u6570\u636e\u7ed3\u6784\uff08\u4f8b\u5982\uff1a\u961f\u5217\u3001\u5806\u6808\u3001\u94fe\u8868\u3001\u4e8c\u53c9\u6811\u7b49\uff09\u5b9e\u73b0\u7684\u4f2a\u4ee3\u7801\u3002\u7528\u6237\u53ea\u8981\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u4fee\u6539\u4e00\u4e0b\u4e3b\u7a0b\u5e8f\u7684\u5b9e\u9645\u53c2\u6570\u7c7b\u578b\u3001\u4ee5\u53ca\u8c03\u7528\u5b50\u51fd\u6570\u7684\u5f62\u5f0f\u53c2\u6570\u7c7b\u578b\u5373\u53ef\u3002
先根遍历 若需遍历的二叉树为空,执行空操作;否则,依次执行下列操作:
①访问根结点;
②先根遍历左子树;
③先根遍历右子树。
中根遍历 若需遍历的二叉树为空,执行空操作,否则,依次执行下列操作:
①中根遍历左子树;②访问根结点;③中根遍右子树。
后根遍历 若需遍历的二叉树为空,执行空操作,否则,依次执行下列操作:
①后根遍历左子树。②后根遍历右子树。③访问根结点。
①访问根结点;
②先根遍历左子树;
③先根遍历右子树
绛旓細鍒嗗埆涓哄厛鏍归亶鍘(鎴栧墠搴忛亶鍘)銆佷腑鏍(鎴栦腑搴)閬嶅巻銆佸悗鏍(鎴栧悗搴)閬嶅巻銆備笁绉嶉亶鍘嗘柟娉曠殑瀹氫箟濡備笅:鍏堟牴閬嶅巻 鑻ラ渶閬嶅巻鐨勪簩鍙夋爲涓虹┖锛屾墽琛岀┖鎿嶄綔;鍚﹀垯锛屼緷娆℃墽琛屼笅鍒楁搷浣:鈶犺闂牴缁撶偣;鈶″厛鏍归亶鍘嗗乏瀛愭爲;鈶㈠厛鏍归亶鍘嗗彸瀛愭爲銆備腑鏍归亶鍘 鑻ラ渶閬嶅巻鐨勪簩鍙夋爲涓虹┖锛屾墽琛岀┖鎿嶄綔锛屽惁鍒欙紝渚濇鎵ц涓嬪垪鎿嶄綔:鈶犱腑鏍...
绛旓細鏍戠殑閬嶅巻鏄竴绉嶅叧閿殑鏍戞搷浣滐紝瀹冪殑鐩爣鏄愪竴璁块棶鏍戜腑鐨勬墍鏈夎妭鐐癸紝纭繚姣忎釜鑺傜偣浠呰璁块棶涓娆°鏈変笁绉嶄富瑕佺殑閬嶅巻鏂瑰紡锛氬墠搴忛亶鍘嗐佷腑搴忛亶鍘嗗拰鍚庡簭閬嶅巻銆傞氳繃鎸夌収璁块棶椤哄簭鎺掑垪鑺傜偣锛屽彲浠ュ緱鍒板墠搴忋佷腑搴忓拰鍚庡簭鍒楄〃銆備互涓嬫槸杩欎笁绉嶉亶鍘嗘柟寮忕殑閫掑綊瀹氫箟锛氬浜庣┖鏍戯紝鍓嶅簭銆佷腑搴忓拰鍚庡簭閬嶅巻鍧囦负绌烘搷浣滐紱瀵逛簬鍗曡妭鐐...
绛旓細鏈枃灏嗕粙缁嶄笁绉嶅父瑙佺殑鏍戦亶鍘嗘柟寮忥細鍓嶅簭閬嶅巻銆佷腑搴忛亶鍘嗗拰鍚庡簭閬嶅巻銆傚湪鏁版嵁缁撴瀯涓紝杩欎簺鏂规硶鐢ㄤ簬鏈夊簭璁块棶鏍戜腑鐨勬墍鏈夎妭鐐广備互涓嬫槸姣忕閬嶅巻鏂瑰紡鐨勭畝瑕佹杩板拰浠g爜瀹炵幇銆1. 鍓嶅簭閬嶅巻锛氭寜鐓ф牴-宸-鍙崇殑椤哄簭杩涜銆傞亶鍘嗚繃绋嬩负A-B-D-E-C锛屼唬鐮佸疄鐜伴氬父閫掑綊鎴栭潪閫掑綊锛屽厛鎵撳嵃鏍硅妭鐐癸紝鐒跺悗閫掑綊閬嶅巻宸﹀瓙鏍戯紝鏈鍚庨亶鍘...
绛旓細鎵璋撻亶鍘嗭紝鏄寚娌跨潃鏌愭潯鎼滅储璺嚎锛屼緷娆″鏍戜腑姣忎釜缁撶偣鍧囧仛涓娆′笖浠呭仛涓娆¤闂銆傝闂粨鐐规墍鍋氱殑鎿嶄綔渚濊禆浜庡叿浣撶殑搴旂敤闂銆 閬嶅巻鏄簩鍙夋爲涓婃渶閲嶈鐨勮繍绠椾箣涓锛屾槸浜屽弶鏍戜笂杩涜鍏跺畠杩愮畻涔嬪熀纭銆
绛旓細鏍戠殑閬嶅巻涓夌椤哄簭濡備笅锛1銆佸墠搴忛亶鍘:鏍硅妭鐐+宸﹀瓙鏍+鍙冲瓙鏍銆2銆侀亶鍘嗗乏瀛愭爲鍜屽彸瀛愭爲鏃讹紝浠嶇劧鍏堣闂牴鑺傜偣锛岀劧鍚庨亶鍘嗗乏瀛愭爲锛屾渶鍚庨亶鍘嗗彸瀛愭爲銆備腑搴忛亶鍘:宸﹀瓙鏍+鏍硅妭鐐+鍙冲瓙鏍戙3銆侀亶鍘嗗乏鍙冲瓙鏍戞椂锛屼粛鐒跺厛閬嶅巻宸﹀瓙鏍戯紝鍐嶉亶鍘嗘牴鑺傜偣锛屽悗閬嶅巻鍙冲瓙鏍戙傚悗搴忛亶鍘:宸﹀瓙鏍+鍙冲瓙鏍+鏍硅妭鐐广傞亶鍘嗗乏鍙冲瓙鏍戞椂锛屼粛鐒...
绛旓細棣栧厛锛岄亶鍘嗘槸鏍戜笂鑺傜偣鐨勬湁搴忚闂紝灏卞儚鍦ㄦ爲涓婃极娓搞傜悊瑙d簡閬嶅巻鐨勯『搴忥紝灏辫兘鏇村ソ鍦版帉鎻″墠涓悗涓夌鏂瑰紡锛瀹冧滑鍒嗗埆瀵瑰簲鏍硅妭鐐圭殑璁块棶鏃堕棿锛氬墠搴忔槸鏍-宸-鍙筹紝涓簭鏄乏-鏍-鍙筹紝鍚庡簭鏄乏-鍙-鏍广傞掑綊鍦ㄥ疄鐜拌繖浜涢亶鍘嗘椂璧蜂簡鍐冲畾鎬т綔鐢紝灏卞儚淇勭綏鏂濞冿紝涓灞傚涓灞傦紝淇濊瘉浜嗘棤璁鏍戞湁澶氭繁锛岃闂『搴忛兘鑳芥寜...
绛旓細閬嶅巻鏄鏍戠殑涓绉嶆渶鍩烘湰鐨勮繍绠楋紝鎵璋撻亶鍘嗕簩鍙夋爲锛屽氨鏄寜涓瀹氱殑瑙勫垯鍜岄『搴忚蛋閬嶄簩鍙夋爲鐨勬墍鏈夌粨鐐癸紝浣挎瘡涓涓粨鐐归兘琚闂竴娆★紝鑰屼笖鍙璁块棶涓娆°傜敱浜庝簩鍙夋爲鏄潪绾挎х粨鏋勶紝鍥犳锛屾爲鐨勯亶鍘嗗疄璐ㄤ笂鏄皢浜屽弶鏍戠殑鍚勪釜缁撶偣杞崲鎴愪负涓涓嚎鎬у簭鍒楁潵琛ㄧず銆備簩鍙鏍戞湁涓夌閬嶅巻鏂规硶锛鍏堝簭閬嶅巻锛岄鍏堣闂牴锛屽啀鍏堝簭閬嶅巻...
绛旓細浜屽弶鏍戝墠搴忎腑搴忓悗搴忔槸璁块棶鎺掑垪鐨勪富瑕佹柟寮忋備簩鍙夋爲鏄竴绉嶆爲褰㈢粨鏋勶紝姣忎釜鑺傜偣鏈澶氭湁涓や釜瀛愯妭鐐癸紝鍒嗗埆绉颁负宸﹀瓙鑺傜偣鍜屽彸瀛愯妭鐐广備簩鍙夋爲鐨勯亶鍘嗘柟寮忔湁涓夌锛鍓嶅簭閬嶅巻銆佷腑搴忛亶鍘嗗拰鍚庡簭閬嶅巻銆傚墠搴忛亶鍘嗙殑鏂瑰紡鏄鍏堣闂牴鑺傜偣锛岀劧鍚庤闂乏瀛愭爲锛屾渶鍚庤闂彸瀛愭爲銆備腑搴忛亶鍘嗙殑鏂瑰紡鏄鍏堣闂乏瀛愭爲锛屾帴鐫璁块棶鏍圭粨鐐...
绛旓細2. 涓夌甯歌鐨勬爲閬嶅巻鏂瑰紡鈥斺斿厛搴忛亶鍘嗐涓簭閬嶅巻鍜屽悗搴忛亶鍘鈥斺斾富瑕佹濊矾濡備笅锛- 鍏堝簭閬嶅巻锛圥re-order Traversal锛夛細棣栧厛璁块棶鏍硅妭鐐癸紝鐒跺悗閫掑綊鍦伴亶鍘嗗乏瀛愭爲锛屾渶鍚庨掑綊鍦伴亶鍘嗗彸瀛愭爲銆- 涓簭閬嶅巻锛圛n-order Traversal锛夛細棣栧厛閫掑綊鍦伴亶鍘嗗乏瀛愭爲锛岀劧鍚庤闂牴鑺傜偣锛屾渶鍚庨掑綊鍦伴亶鍘嗗彸瀛愭爲銆- 鍚庡簭閬嶅巻锛圥ost-...
绛旓細棣栧厛锛屾垜浠湁涓夌涓昏鐨勯亶鍘嗙瓥鐣ワ紝鏍规嵁璁块棶鑺傜偣鐨勬椂鏈哄懡鍚嶏細鍓嶅簭閬嶅巻锛圥reorderTraversal锛夛紙NLR锛夛細璁块棶鏍硅妭鐐瑰彂鐢熷湪閬嶅巻宸﹀彸瀛愭爲涔嬪墠銆備腑搴忛亶鍘嗭紙InorderTraversal锛夛紙LNR锛夛細璁块棶鑺傜偣鍙戠敓鍦ㄩ亶鍘嗗乏鍙冲瓙鏍戜箣闂达紙鍗虫牴銆佸乏銆佸彸鐨勯『搴忥級銆傚悗搴忛亶鍘嗭紙PostorderTraversal锛夛紙LRN锛夛細璁块棶鑺傜偣鍙戠敓鍦ㄩ亶鍘嗗乏鍙冲瓙鏍戜箣鍚庛