{"id":175,"date":"2021-11-21T12:55:35","date_gmt":"2021-11-21T12:55:35","guid":{"rendered":"http:\/\/47.103.123.166\/?p=175"},"modified":"2021-11-21T12:55:35","modified_gmt":"2021-11-21T12:55:35","slug":"%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e5%ad%a6%e4%b9%a03-%e6%a0%91","status":"publish","type":"post","link":"http:\/\/47.103.123.166\/?p=175","title":{"rendered":"\u6570\u636e\u7ed3\u6784\u5b66\u4e603\u2014\u2014\u6811"},"content":{"rendered":"<h1>1 \u6811\u7684\u7ed3\u6784<\/h1>\n<h2>1.1 \u6811\u7684\u903b\u8f91\u7ed3\u6784<\/h2>\n<p><img src=\"http:\/\/47.103.123.166\/wp-content\/uploads\/2021\/11\/post-175-619a41c77fce1.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><br \/>\n1) \u6811\u7684\u5b9a\u4e49\u4e0e\u7279\u70b9<\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th><\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u6811<\/td>\n<td>\u5b50\u6811\u3001\u7a7a\u6811\u3001\u6709\u5e8f\u6811\u3001\u65e0\u5e8f\u6811\u3001\u68ee\u6797<\/td>\n<td>\u7a7a\u6811\u65e0\u7ed3\u70b9\uff0c\u6709\u5e8f\u65e0\u5e8f\u770b\u5b50\u6811\u4ea4\u6362\u987a\u5e8f\u662f\u4e0d\u662f\u540c\u4e00\u68f5<\/td>\n<\/tr>\n<tr>\n<td>\u70b9<\/td>\n<td>\u53f6\u5b50\u7ed3\u70b9\u3001\u5206\u652f\u7ed3\u70b9\u3001\u6839\u7ed3\u70b9\u3001\u5b69\u5b50\u7ed3\u70b9\u3001\u53cc\u4eb2\u7ed3\u70b9\u3001\u5144\u5f1f\u7ed3\u70b9\u3001\u5802\u5144\u5f1f\u7ed3\u70b9<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>\u5ea6<\/td>\n<td>\u7ed3\u70b9\u7684\u5ea6\u3001\u6811\u7684\u5ea6<\/td>\n<td>\u5ea6\u5373\u5206\u53c9\u6570\uff0c\u6700\u5927\u7684\u7ed3\u70b9\u7684\u5ea6\u5373\u6811\u7684\u5ea6<\/td>\n<\/tr>\n<tr>\n<td>\u8def<\/td>\n<td>\u8def\u5f84\u957f\u5ea6\u3001\u7956\u5148\u3001\u5b50\u5b59<\/td>\n<td>\u5206\u652f\u6570\u4e3a\u8def\u5f84\u957f\u5ea6\uff0c\u8def\u5f84\u82e5\u5b58\u5728\u5fc5\u552f\u4e00<\/td>\n<\/tr>\n<tr>\n<td>\u5c42<\/td>\n<td>\u7ed3\u70b9\u7684\u5c42\u6570\u3001\u6811\u7684\u6df1\u5ea6\/\u9ad8\u5ea6<\/td>\n<td>\u5c42\u6570\u4ece1\u5f00\u59cb<\/td>\n<\/tr>\n<tr>\n<td>\u7ed3\u70b9\u7684\u5c42\u5e8f\u7f16\u53f7<\/td>\n<td><\/td>\n<td>\u4ece\u4e0a\u5230\u4e0b\u3001\u4ece\u5de6\u5230\u53f3\u3001\u4ece1\u5f00\u59cb\u3001\u8fde\u7eed\u81ea\u7136\u6570\u7f16\u53f7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>2) \u6811\u7684\u904d\u5386<br \/>\n\u524d\u5e8f\u904d\u5386\uff1a\u4ece\u6839\u7ed3\u70b9\uff0c\u4ece\u5de6\u5230\u53f3\u524d\u5e8f\u904d\u5386\u5b50\u6811\uff0cABEFCGHID<br \/>\n\u540e\u5e8f\u904d\u5386\uff1a\u4ece\u53f6\u5b50\u7ed3\u70b9\uff0c\u4ece\u5de6\u5230\u53f3\u540e\u5e8f\u904d\u5386\u5b50\u6811\uff0cEFBHIGCDA<br \/>\n\u5c42\u5e8f\u904d\u5386\uff1a\u6309\u5c42\u5e8f\u7f16\u53f7\uff0cABCDEFGHI<\/p>\n<h2>1.2 \u6811\u7684\u5b58\u50a8\u7ed3\u6784<\/h2>\n<p>1) \u53cc\u4eb2\u8868\u793a\u6cd5\uff1a\u6bcf\u4e2a\u7ed3\u70b9\uff0c\u9664\u81ea\u8eab\u6570\u636e\u5916\uff0c\u8fd8\u8bb0\u5f55\u53cc\u4eb2\u7ed3\u70b9\u7684\u4e0b\u6807\uff0c\u65b9\u4fbf\u6c42\u89e3\u53cc\u4eb2\uff0c\u4f46\u6c42\u7ed3\u70b9\u7684\u5b69\u5b50\u9700\u8981\u904d\u5386\u3002<br \/>\n<img src=\"http:\/\/47.103.123.166\/wp-content\/uploads\/2021\/11\/post-175-619a41c7db2d9.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>2) \u5b69\u5b50\u94fe\u8868\u8868\u793a\u6cd5\uff1a\u6bcf\u4e2a\u7ed3\u70b9\uff0c\u9664\u81ea\u8eab\u6570\u636e\u5916\uff0c\u8fd8\u8bb0\u5f55\u4e00\u4e2a\u94fe\u8868\uff0c\u94fe\u8868\u8bb0\u5f55\u4ece\u5de6\u5230\u53f3\u5b69\u5b50\u7ed3\u70b9\u7684\u4e0b\u6807\uff0c\u4f18\u7f3a\u70b9\u6709\u53cc\u4eb2\u8868\u793a\u6cd5\u76f8\u53cd<br \/>\n<img src=\"http:\/\/47.103.123.166\/wp-content\/uploads\/2021\/11\/post-175-619a41c888111.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>3) \u5b69\u5b50\u5144\u5f1f\u8868\u793a\u6cd5\uff1a\u6bcf\u4e2a\u7ed3\u70b9\uff0c\u9664\u81ea\u8eab\u6570\u636e\u5916\uff0c\u8fd8\u8bb0\u5f55\u7b2c\u4e00\u4e2a\u5b69\u5b50\u7ed3\u70b9\u548c\u53f3\u4fa7\u7684\u7b2c\u4e00\u4e2a\u5144\u5f1f\u7ed3\u70b9<br \/>\n<img src=\"http:\/\/47.103.123.166\/wp-content\/uploads\/2021\/11\/post-175-619a41c8dc4d0.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h2>1.3 \u4e8c\u53c9\u6811\u7684\u903b\u8f91\u7ed3\u6784<\/h2>\n<p><img src=\"http:\/\/47.103.123.166\/wp-content\/uploads\/2021\/11\/post-175-619a41c921466.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>1) \u4e8c\u53c9\u6811\u7684\u5b9a\u4e49\u4e0e\u8bf4\u660e<\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th><\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u4e8c\u53c9\u6811<\/td>\n<td>\u5de6\u5b50\u6811\u3001\u53f3\u5b50\u6811\u3001\u7a7a\u4e8c\u53c9\u6811<\/td>\n<td>\u5de6\u53f3\u5b50\u6811\u4e92\u4e0d\u76f8\u4ea4\uff0c\u7ed3\u70b9\u7684\u5ea6\u6700\u5927\u4e3a2<\/td>\n<\/tr>\n<tr>\n<td>\u659c\u6811<\/td>\n<td>\u5de6\u659c\u6811\u3001\u53f3\u659c\u6811<\/td>\n<td>\u6240\u6709\u5206\u652f\u90fd\u53ea\u6709\u5de6\u5b50\u6811\/\u53f3\u5b50\u6811\uff0c\u659c\u6811 =\u300b\u7ed3\u70b9\u4e2a\u6570\u7b49\u4e8e\u6811\u7684\u6df1\u5ea6<\/td>\n<\/tr>\n<tr>\n<td>\u6ee1\u4e8c\u53c9\u6811<\/td>\n<td><\/td>\n<td>\u6240\u6709\u5206\u652f\u7ed3\u70b9\u90fd\u6709\u5de6\u53f3\u5b50\u6811\uff0c\u6240\u6709\u53f6\u5b50\u7ed3\u70b9\u90fd\u5728\u540c\u4e00\u5c42<\/td>\n<\/tr>\n<tr>\n<td>\u5b8c\u5168\u4e8c\u53c9\u6811<\/td>\n<td><\/td>\n<td>\u6309\u5c42\u5e8f\u7f16\u53f7\uff0c\u5012\u5e8f\u4ece\u6ee1\u4e8c\u53c9\u6811\u4e2d\u53bb\u6389\u4efb\u610f\u6570\u91cf\u7ed3\u70b9\uff0c\u6ee1\u4e8c\u53c9\u6811=\u300b\u5b8c\u5168\u4e8c\u53c9\u6811<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>2) \u4e8c\u53c9\u6811\u7684\u6027\u8d28<br \/>\n3) \u4e8c\u53c9\u6811\u7684\u904d\u5386<br \/>\n\u524d\u5e8f\u904d\u5386\uff1a\u4ece\u6839\u7ed3\u70b9\uff0c\u4ece\u5de6\u5230\u53f3\u524d\u5e8f\u904d\u5386\u5de6\u53f3\u5b50\u6811\uff0cABDGECF<br \/>\n\u4e2d\u5e8f\u904d\u5386\uff1a\u5148\u904d\u5386\u6839\u7ed3\u70b9\u7684\u5de6\u5b50\u6811\uff0c\u8bbf\u95ee\u6839\u7ed3\u70b9\uff0c\u904d\u5386\u53f3\u5b50\u6811\uff0cDGBEACF  \uff0c\u5728\u904d\u5386\u5b50\u6811\u7684\u8fc7\u7a0b\u4e2d\uff0c\u4e5f\u662f\u6309\u7167\uff1a\u5148\u5de6\uff0c\u7136\u540e\u7ed3\u70b9\uff0c\u7136\u540e\u53f3\uff0c\uff08<strong>N<\/strong>DGBEA<strong>N<\/strong>CF\uff09<br \/>\n\u540e\u5e8f\u904d\u5386\uff1a\u4ece\u53f6\u5b50\u7ed3\u70b9\uff0c\u4ece\u5de6\u5230\u53f3\u540e\u5e8f\u904d\u5386\u5de6\u53f3\u5b50\u6811\uff0cGDEBFCA<br \/>\n\u5c42\u5e8f\u904d\u5386\uff1a\u6309\u5c42\u5e8f\u7f16\u53f7\uff0cABCDEFG<\/p>\n<h2>1.4 \u4e8c\u53c9\u6811\u7684\u5b58\u50a8\u7ed3\u6784\uff08\u9012\u5f52\u904d\u5386\uff09<\/h2>\n<p>1) \u987a\u5e8f\u5b58\u50a8\u7ed3\u6784<br \/>\n\u6839\u636e\u5c42\u5e8f\u7f16\u53f7\uff0c\u4f7f\u7528\u4e00\u7ef4\u6570\u7ec4\u5b58\u50a8\u3002\u9002\u7528\u4e8e\u5b8c\u5168\u4e8c\u53c9\u6811\uff0c\u5bf9\u4e8e\u975e\u5b8c\u5168\u4e8c\u53c9\u6811\uff0c\u9700\u8981\u8865\u5145\u7a7a\u7ed3\u70b9\u751f\u6210\u5b8c\u5168\u4e8c\u53c9\u6811\uff0c\u5b58\u5728\u7a7a\u95f4\u6d6a\u8d39\u7684\u60c5\u51b5\uff0c\u7279\u522b\u662f\u53f3\u659c\u6811\u3002<br \/>\n2) \u4e8c\u53c9\u94fe\u8868<br \/>\n\u5bf9\u6bd4\u6811\u7ed3\u6784\u7684\u5b69\u5b50\u94fe\u8868\u793a\u6cd5\uff0c\u7ed3\u70b9\u4f7f\u7528\u4e8c\u53c9\u94fe\u8868\uff0c\u6bcf\u4e2a\u7ed3\u70b9\u5305\u62ec\u6570\u636e\u57df \u548c \u5de6\u53f3\u4e24\u4e2a\u6307\u9488\u57df\u6307\u5411\u5de6\u53f3\u5206\u652f\u7ed3\u70b9\u3002<br \/>\n\uff08\u4e8c\u53c9\u94fe\u8868\u7684\u904d\u5386\u3001\u6784\u9020\u548c\u6790\u6784\u90fd\u53ef\u4ee5\u9012\u5f52\u7684\u65b9\u5f0f\u8fdb\u884c\uff0c\u4ee5\u7ed3\u70b9\u6307\u9488\u4e3a\u7a7a\u4f5c\u4e3a\u7ed3\u675f\u6807\u5fd7\uff09<br \/>\n\uff08\u4e8c\u53c9\u94fe\u8868\u7684\u6784\u9020\uff1a\u5c06\u4e8c\u53c9\u6811\u8fdb\u884c\u6269\u5c55\uff0c\u4f7f\u5f97\u539f\u4e8c\u53c9\u6811\u7684\u7ed3\u70b9\u7684\u5ea6\u90fd\u662f2\uff0c\u7136\u540e\u518d\u9012\u5f52\u521b\u5efa\uff09<\/p>\n<table>\n<thead>\n<tr>\n<th>pLeftChild<\/th>\n<th>data<\/th>\n<th>pRightChild<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<\/tbody>\n<\/table>\n<p><img src=\"http:\/\/47.103.123.166\/wp-content\/uploads\/2021\/11\/post-175-619a41c95cdca.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<pre><code class=\"language-cpp\">template &lt;class T&gt;\nstruct BiNode{\n    T data;       \n    BiNode&lt;T&gt; *lchild, *rchild;\n};\n\n\/\/\u6784\u9020\ntemplate &lt;class T&gt;\nBiNode&lt;T&gt; *BiTree&lt;T&gt;::Creat(BiNode&lt;T&gt; *bt) \n{\n    char ch;\n    cout&lt;&lt;\"\u8bf7\u8f93\u5165\u521b\u5efa\u4e00\u68f5\u4e8c\u53c9\u6811\u7684\u7ed3\u70b9\u6570\u636e\uff1a\"&lt;&lt;endl;\n    cin&gt;&gt;ch;\n    \/*'#'\u4ee3\u8868\u7a7a\u4e8c\u53c9\u6811*\/\n    if(ch == '#') \n        return NULL;\n    else \n    { \n        bt = new BiNode&lt;T&gt;; \/*\u751f\u6210\u65b0\u7ed3\u70b9*\/\n        bt-&gt;data = ch;\n        bt-&gt;lchild = Creat(bt-&gt;lchild); \/*\u9012\u5f52\u521b\u5efa\u5de6\u5b50\u6811*\/\n        bt-&gt;rchild = Creat(bt-&gt;rchild); \/*\u9012\u5f52\u521b\u5efa\u53f3\u5b50\u6811*\/\n    } \n    return bt;\n}\n\n\/\/\u6790\u6784\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::Release(BiNode&lt;T&gt; *bt) \n{\n    \/*\u6309\u7167\u540e\u5e8f\u904d\u5386\u7684\u987a\u5e8f\u91ca\u653e\u4e8c\u53c9\u6811*\/\n    if(bt != NULL) \n    {                  \n        Release(bt-&gt;lchild); \/*\u91ca\u653e\u5de6\u5b50\u6811*\/\n        Release(bt-&gt;rchild); \/*\u91ca\u653e\u53f3\u5b50\u6811*\/\n        delete bt; \/*\u5220\u9664\u6839\u7ed3\u70b9*\/\n    }  \n}\n\n\/\/\u524d\u5e8f\u904d\u5386\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::PreOrder(BiNode&lt;T&gt; *bt) \n{\n    if(bt == NULL) \/*\u9012\u5f52\u8c03\u7528\u7684\u8fb9\u754c\u6761\u4ef6*\/\n        return;\n    else \n    {       \n        cout&lt;&lt;bt-&gt;data&lt;&lt;\" \"; \/*\u8bbf\u95ee\u6839\u7ed3\u70b9*\/\n        PreOrder(bt-&gt;lchild); \/*\u524d\u5e8f\u9012\u5f52\u904d\u5386\u5de6\u5b50\u6811*\/\n        PreOrder(bt-&gt;rchild); \/*\u524d\u5e8f\u9012\u5f52\u904d\u5386\u53f3\u5b50\u6811*\/\n    }\n}\n\n\/\/\u4e2d\u5e8f\u904d\u5386\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::InOrder(BiNode&lt;T&gt; *bt) \n{\n    if(bt == NULL)  \n        return; \/*\u9012\u5f52\u8c03\u7528\u7684\u8fb9\u754c\u6761\u4ef6*\/             \n    else \n    {   \n        InOrder(bt-&gt;lchild); \/*\u4e2d\u5e8f\u9012\u5f52\u904d\u5386\u5de6\u5b50\u6811*\/\n        cout&lt;&lt;bt-&gt;data&lt;&lt;\" \"; \/*\u8bbf\u95ee\u6839\u7ed3\u70b9*\/\n        InOrder(bt-&gt;rchild); \/*\u4e2d\u5e8f\u9012\u5f52\u904d\u5386\u7684\u53f3\u5b50\u6811*\/\n    }\n}\n\n\/\/\u540e\u5e8f\u904d\u5386\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::PostOrder(BiNode&lt;T&gt; *bt) \n{\n    if(bt == NULL)  \n        return; \/*\u9012\u5f52\u8c03\u7528\u7684\u8fb9\u754c\u6761\u4ef6*\/\n    else \n    {   \n        PostOrder(bt-&gt;lchild); \/*\u540e\u5e8f\u9012\u5f52\u904d\u5386\u5de6\u5b50\u6811*\/\n        PostOrder(bt-&gt;rchild); \/*\u540e\u5e8f\u9012\u5f52\u904d\u5386\u53f3\u5b50\u6811*\/\n        cout&lt;&lt;bt-&gt;data&lt;&lt;\" \"; \/*\u8bbf\u95ee\u6839\u7ed3\u70b9*\/\n    }\n}\n\n\/\/\u5c42\u5e8f\u904d\u5386\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::LevelOrder(BiNode&lt;T&gt; *bt)\n{\n    BiNode&lt;T&gt; *q;\n    queue&lt;BiNode&lt;T&gt; *&gt; Q;\n    if(bt == NULL) \n        return;\n    else \n    {\n        Q.push(bt); \/*bt\u5165\u961f*\/\n        \/*\u961f\u5217\u975e\u7a7a\u65f6\u5faa\u73af*\/\n        while(Q.empty() != 1) \n        {\n            q = Q.pop(); \/*\u961f\u5934\u51fa\u961f*\/\n            cout&lt;&lt;q-&gt;data&lt;&lt;\" \"; \/*\u8bbf\u95ee\u961f\u5934*\/    \n            if(q-&gt;lchild != NULL) \/*\u5982\u679c\u961f\u5934\u6709\u5de6\u5b69\u5b50\uff0c\u5de6\u5b69\u5b50\u5165\u961f*\/\n                Q.push(q-&gt;lchild);      \n            if(q-&gt;rchild != NULL) \/*\u5982\u679c\u961f\u5934\u6709\u53f3\u5b69\u5b50\uff0c\u53f3\u5b69\u5b50\u5165\u961f*\/\n                Q.push(q-&gt;rchild);\n        }\n    }\n}\n<\/code><\/pre>\n<p>3) \u4e09\u53c9\u94fe\u8868<br \/>\n\u5728\u4e8c\u53c9\u94fe\u8868\u7684\u57fa\u7840\u4e0a\uff0c\u589e\u52a0\u6307\u5411\u53cc\u4eb2\u7ed3\u70b9\u7684\u6307\u9488\u3002<\/p>\n<table>\n<thead>\n<tr>\n<th>pLeftChild<\/th>\n<th>data<\/th>\n<th>pRightChild<\/th>\n<th>pParent<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<\/tbody>\n<\/table>\n<p><img src=\"http:\/\/47.103.123.166\/wp-content\/uploads\/2021\/11\/post-175-619a41c99e455.png\" alt=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h1>2 \u4e8c\u53c9\u6811\u5e94\u7528<\/h1>\n<h2>2.1 \u975e\u9012\u5f52\u904d\u5386\u4e8c\u53c9\u6811<\/h2>\n<pre><code class=\"language-cpp\">\/\/\u524d\u5e8f\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::preOrder(BiNode&lt;T&gt; *bt) \n{\n    stack&lt;BiNode&lt;T&gt; *&gt; S;\/\/\u4f7f\u7528\u6808\u4fdd\u5b58\u8bbf\u95ee\u8fc7\u7684\u7ed3\u70b9\n    while(bt != NULL || S.empty() != 1)\n    {\n        while(bt != NULL)\n        {\n            cout&lt;&lt;bt-&gt;data&lt;&lt;endl;\n            S.push(bt);\n            bt = bt-&gt;lchild;\n        }\n        if(S.empty() != 1)\n        {\n            bt = S.pop();\n            bt = bt-&gt;rchild;\n        }\n    }\n}\n\n\/\/\u4e2d\u5e8f\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::inOrder(BiNode&lt;T&gt; *bt) \n{\n    stack&lt;BiNode&lt;T&gt; *&gt; S;\/\/\u4f7f\u7528\u6808\u4fdd\u5b58\u8bbf\u95ee\u8fc7\u7684\u7ed3\u70b9\n    while(bt != NULL || S.empty() != 1)\n    {\n        while(bt != NULL)   \/\/bt == NULL \u8bf4\u660e\u5de6\u5b50\u6811\u4e3a\u7a7a\uff0c\u6216\u5de6\u5b50\u6811\u5df2\u8bbf\u95ee\u5b8c\n        {\n            S.push(bt);\n            bt = bt-&gt;lchild;\n        }\n        if(S.empty() != 1)\n        {\n            bt = S.pop();\n            cout&lt;&lt;bt-&gt;data&lt;&lt;endl;\/\/\u5148\u6253\u5370\u5de6\u5b50\u6811\uff0c\u518d\u6253\u5370\u7ed3\u70b9\n            bt = bt-&gt;rchild;\n        }\n    }\n}\n\n\/\/\u540e\u5e8f1\uff1a\u4f7f\u7528\u6807\u5fd7\u4f4d\uff0c\u7ed9\u7ed3\u70b9\u7ed1\u5b9a\u4e00\u4e2aflag\uff0c\u8bbf\u95ee\u5b8c\u5de6\u5b50\u6811\uff0cflag\u4e3a1\uff0c\u5de6\u53f3\u5b50\u6811\u90fd\u8bbf\u95ee\u5b8c\u540e\uff0cflag\u4e3a2\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::postOrder(BiNode&lt;T&gt; *bt) \n{\n    stack&lt;Element&gt; S;\n    Element e;\n    \/*bt\u4e0d\u4e3a\u7a7a\u6216\u8005\u6808\u4e0d\u4e3a\u7a7a*\/\n    while(bt != NULL || S.Empty() == 0) \n    {\n        while(bt != NULL) \n        {\n            e.ptr = bt;\n            e.flag = 1;\n            S.posh(e);\n            bt = bt-&gt;lchild;\n        }\n        \/*\u6808\u4e0d\u4e3a\u7a7a\u5e76\u4e14\u6808\u9876\u7684flag\u4e3a2\u65f6\uff0c\u51fa\u6808\u5e76\u8bbf\u95ee*\/\n        while((S.empty() != 1)&amp;&amp;(S.top()).flag == 2) \n        {\n            e = S.Pop();\n            cout&lt;&lt;e.ptr-&gt;data&lt;&lt;\" \";\n        }\n        \/*\u6808\u4e0d\u4e3a\u7a7a\uff0c\u5e76\u4e14\u6808\u9876\u7684flag\u4e3a1\u65f6\uff0c\u5c06\u6808\u9876\u7684flag\u66f4\u6539\u4e3a2\uff0c\u5e76\u8bbf\u95ee\u5176\u53f3\u5b69\u5b50*\/\n        if(S.empty() != 1) \n        {\n            e = S.pop();\n            bt = e.ptr-&gt;rchild;\n            e.flag = 2;\n            S.push(e);\n        }\n    }\n}\n\n\/\/\u540e\u5e8f2\uff1a\u4e0d\u4f7f\u7528\u6807\u5fd7\u4f4d\ntemplate &lt;class T&gt;\nvoid BiTree&lt;T&gt;::postOrder(BiNode&lt;T&gt; *bt) \n{\n    stack&lt;BiNode&lt;T&gt; *&gt; s;\n    stack&lt;BiNode&lt;T&gt; *&gt; output;\n    s.push(bt);\n\n    while (!s.empty()) \n    {\n        bt = s.pop();\n        output.push(bt);\n\n        if (bt-&gt;lchild)\n            s.push(bt-&gt;lchild);\n        if (bt-&gt;rchild)\n            s.push(bt-&gt;rchild);\n    }\n\n    while (!output.empty()) \n    {\n        bt = output.pop();\n        cout &lt;&lt; bt-&gt;data &lt;&lt; \" \";\n    }\n}<\/code><\/pre>\n<h2>2.2 \u91cd\u5efa\u4e8c\u53c9\u6811<\/h2>\n<pre><code class=\"language-cpp\">\/\/\u7531\u524d\u5e8f\u5e8f\u5217\u548c\u4e2d\u5e8f\u5e8f\u5217\ntemplate &lt;class T&gt;\nBiNode&lt;T&gt;* BiTree&lt;T&gt;::Rebuild(T *preOrder, T *inOrder, int n) \n{\n    if(n == 0) \n        return NULL;\n\n    T c = preOrder[0];\/*\u83b7\u5f97\u524d\u5e8f\u904d\u5386\u7684\u7b2c\u4e00\u4e2a\u7ed3\u70b9*\/ \n    BiNode&lt;T&gt; *node = new BiNode&lt;T &gt;;\/*\u521b\u5efa\u6839\u7ed3\u70b9*\/\n    node-&gt;data = c;\n    node-&gt;lchild = NULL;\n    node-&gt;rchild = NULL;\n\n    int i;\n    for(i = 0; i &lt; n &amp;&amp; inOrder[i] != c; i++)\/*\u5728\u4e2d\u5e8f\u904d\u5386\u5e8f\u5217\u4e2d\u5bfb\u627e\u6839\u7ed3\u70b9\u7684\u4f4d\u7f6e*\/\n        ;\n\n    int lenLeft = i;\/*\u5de6\u5b50\u6811\u7ed3\u70b9\u4e2a\u6570*\/ \n    int lenRight = n - i - 1; \/*\u53f3\u5b50\u6811\u7ed3\u70b9\u4e2a\u6570*\/\n\n    if(lenLeft &gt; 0)\/*\u5de6\u5b50\u6811\u4e0d\u4e3a\u7a7a\uff0c\u9012\u5f52\u91cd\u5efa\u5de6\u5b50\u6811*\/ \n        node-&gt;lchild = Rebuild(&amp;preOrder[1], &amp;inOrder[0], lenLeft);\n\n    if(lenRight &gt; 0) \/*\u53f3\u5b50\u6811\u4e0d\u4e3a\u7a7a\uff0c\u9012\u5f52\u91cd\u5efa\u53f3\u5b50\u6811*\/\n        node-&gt;rchild = Rebuild(&amp;preOrder[lenLeft+1], &amp;inOrder[lenLeft+1], lenRight);\n\n    return node;\n}\n\n\/\/\u7531\u540e\u5e8f\u5e8f\u5217\u548c\u4e2d\u5e8f\u5e8f\u5217\ntemplate &lt;class T&gt;\nBiNode&lt;T&gt;* BiTree&lt;T&gt;::Rebuild(T *postOrder, T *inOrder, int n) \n{\n    if(n == 0) \n        return NULL;\n\n    T c = postOrder[n-1];\/*\u83b7\u5f97\u540e\u5e8f\u904d\u5386\u7684\u6700\u540e\u4e00\u4e2a\u7ed3\u70b9*\/ \n    BiNode&lt;T&gt; *node = new BiNode&lt;T&gt;; \/*\u521b\u5efa\u6839\u7ed3\u70b9*\/\n    node-&gt;data = c;\n    node-&gt;lchild = NULL;\n    node-&gt;rchild = NULL;\n\n    int i;\n    for(i = 0; i &lt; n &amp;&amp; inOrder[i] != c; i++)\/*\u5728\u4e2d\u5e8f\u904d\u5386\u5e8f\u5217\u4e2d\u5bfb\u627e\u6839\u7ed3\u70b9\u7684\u4f4d\u7f6e*\/\n        ;\n\n    int lenLeft = i;\/*\u5de6\u5b50\u6811\u7ed3\u70b9\u4e2a\u6570*\/\n    int lenRight = n - i - 1; \/*\u53f3\u5b50\u6811\u7ed3\u70b9\u4e2a\u6570*\/\n\n    if(lenLeft &gt; 0)\/*\u5de6\u5b50\u6811\u4e0d\u4e3a\u7a7a\uff0c\u91cd\u5efa\u5de6\u5b50\u6811*\/ \n        node-&gt;lchild = Rebuild(&amp;postOrder[0], &amp;inOrder[0], lenLeft);\n\n    if(lenRight &gt; 0)\/*\u53f3\u5b50\u6811\u4e0d\u4e3a\u7a7a\uff0c\u91cd\u5efa\u53f3\u5b50\u6811*\/\n        node-&gt;rchild = Rebuild(&amp;postOrder[lenLeft], &amp;inOrder[lenLeft+1], lenRight);\n    return node;\n}<\/code><\/pre>\n<h1>3 \u4e8c\u53c9\u641c\u7d22\u6811 \/ \u5806 \/ \u7ea2\u9ed1\u6811<\/h1>\n<h1>\u7cfb\u5217\u53c2\u8003<\/h1>\n<p>1) \u300a\u6570\u636e\u7ed3\u6784\uff08C++\uff09\u8fb9\u5b66\u8fb9\u505a\u300b\u4efb\u5e73\u7ea2\u7b49\u8457<br \/>\n2) \u300a\u5251\u6307offer\u300b\u4f55\u6d77\u6d9b\u8457<br \/>\n3) <a href=\"http:\/\/bookshadow.com\/weblog\/2015\/01\/19\/binary-tree-post-order-traversal\/\"><a href=\"http:\/\/bookshadow.com\/weblog\/2015\/01\/19\/binary-tree-post-order-traversal\/\">http:\/\/bookshadow.com\/weblog\/2015\/01\/19\/binary-tree-post-order-traversal\/<\/a><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1 \u6811\u7684\u7ed3\u6784 1.1 \u6811\u7684\u903b\u8f91\u7ed3\u6784 1) \u6811\u7684\u5b9a\u4e49\u4e0e\u7279\u70b9 \u8bf4\u660e \u6811 \u5b50\u6811\u3001\u7a7a\u6811\u3001\u6709\u5e8f\u6811\u3001\u65e0\u5e8f\u6811\u3001\u68ee\u6797 \u7a7a\u6811\u65e0\u7ed3\u70b9\uff0c\u6709\u5e8f\u65e0\u5e8f\u770b\u5b50\u6811\u4ea4\u6362\u987a\u5e8f\u662f\u4e0d\u662f\u540c\u4e00\u68f5 \u70b9 \u53f6\u5b50\u7ed3\u70b9\u3001\u5206\u652f\u7ed3\u70b9\u3001\u6839\u7ed3\u70b9\u3001\u5b69\u5b50\u7ed3\u70b9\u3001\u53cc\u4eb2\u7ed3\u70b9\u3001\u5144\u5f1f\u7ed3\u70b9\u3001\u5802\u5144\u5f1f\u7ed3\u70b9 \u5ea6 \u7ed3\u70b9\u7684\u5ea6\u3001\u6811\u7684\u5ea6 \u5ea6\u5373\u5206\u53c9\u6570\uff0c\u6700\u5927\u7684\u7ed3\u70b9\u7684\u5ea6\u5373\u6811\u7684\u5ea6 \u8def \u8def\u5f84\u957f\u5ea6\u3001\u7956\u5148\u3001\u5b50\u5b59 \u5206\u652f\u6570\u4e3a\u8def\u5f84\u957f\u5ea6\uff0c\u8def\u5f84\u82e5\u5b58\u5728\u5fc5\u552f\u4e00 \u5c42 \u7ed3\u70b9\u7684\u5c42\u6570\u3001\u6811\u7684\u6df1\u5ea6\/\u9ad8\u5ea6 \u5c42\u6570\u4ece1\u5f00\u59cb \u7ed3\u70b9\u7684\u5c42\u5e8f\u7f16\u53f7 \u4ece\u4e0a\u5230\u4e0b\u3001\u4ece\u5de6\u5230\u53f3\u3001\u4ece1\u5f00\u59cb\u3001\u8fde\u7eed\u81ea\u7136\u6570\u7f16\u53f7 2) \u6811\u7684\u904d\u5386 \u524d\u5e8f\u904d\u5386\uff1a\u4ece\u6839\u7ed3\u70b9\uff0c\u4ece\u5de6\u5230\u53f3\u524d\u5e8f\u904d\u5386\u5b50\u6811\uff0cABEFCGHID \u540e\u5e8f\u904d\u5386\uff1a\u4ece\u53f6\u5b50\u7ed3\u70b9\uff0c\u4ece\u5de6\u5230\u53f3\u540e\u5e8f\u904d\u5386\u5b50\u6811\uff0cEFBHIGCDA \u5c42\u5e8f\u904d\u5386\uff1a\u6309\u5c42\u5e8f\u7f16\u53f7\uff0cABCDEFGHI 1.2 \u6811\u7684\u5b58\u50a8\u7ed3\u6784 1) \u53cc\u4eb2\u8868\u793a\u6cd5\uff1a\u6bcf\u4e2a\u7ed3\u70b9\uff0c\u9664\u81ea\u8eab\u6570\u636e\u5916\uff0c\u8fd8\u8bb0\u5f55\u53cc\u4eb2\u7ed3\u70b9\u7684\u4e0b\u6807\uff0c\u65b9\u4fbf\u6c42\u89e3\u53cc\u4eb2\uff0c\u4f46\u6c42\u7ed3\u70b9\u7684\u5b69\u5b50\u9700\u8981\u904d\u5386\u3002 2) \u5b69\u5b50\u94fe\u8868\u8868\u793a\u6cd5\uff1a\u6bcf\u4e2a\u7ed3\u70b9\uff0c\u9664\u81ea\u8eab\u6570\u636e\u5916\uff0c\u8fd8\u8bb0\u5f55\u4e00\u4e2a\u94fe\u8868\uff0c\u94fe\u8868\u8bb0\u5f55\u4ece\u5de6\u5230\u53f3\u5b69\u5b50\u7ed3\u70b9\u7684\u4e0b\u6807\uff0c\u4f18\u7f3a\u70b9\u6709\u53cc\u4eb2\u8868\u793a\u6cd5\u76f8\u53cd 3) \u5b69\u5b50\u5144\u5f1f\u8868\u793a\u6cd5\uff1a\u6bcf\u4e2a\u7ed3\u70b9\uff0c\u9664\u81ea\u8eab\u6570\u636e\u5916\uff0c\u8fd8\u8bb0\u5f55\u7b2c\u4e00\u4e2a\u5b69\u5b50\u7ed3\u70b9\u548c\u53f3\u4fa7\u7684\u7b2c\u4e00\u4e2a\u5144\u5f1f\u7ed3\u70b9 1.3 \u4e8c\u53c9\u6811\u7684\u903b\u8f91\u7ed3\u6784 1) \u4e8c\u53c9\u6811\u7684\u5b9a\u4e49\u4e0e\u8bf4\u660e \u8bf4\u660e \u4e8c\u53c9\u6811 \u5de6\u5b50\u6811\u3001\u53f3\u5b50\u6811\u3001\u7a7a\u4e8c\u53c9\u6811 \u5de6\u53f3\u5b50\u6811\u4e92\u4e0d\u76f8\u4ea4\uff0c\u7ed3\u70b9\u7684\u5ea6\u6700\u5927\u4e3a2 \u659c\u6811 \u5de6\u659c\u6811\u3001\u53f3\u659c\u6811 \u6240\u6709\u5206\u652f\u90fd\u53ea\u6709\u5de6\u5b50\u6811\/\u53f3\u5b50\u6811\uff0c\u659c\u6811 =\u300b\u7ed3\u70b9\u4e2a\u6570\u7b49\u4e8e\u6811\u7684\u6df1\u5ea6 \u6ee1\u4e8c\u53c9\u6811 \u6240\u6709\u5206\u652f\u7ed3\u70b9\u90fd\u6709\u5de6\u53f3\u5b50\u6811\uff0c\u6240\u6709\u53f6\u5b50\u7ed3\u70b9\u90fd\u5728\u540c\u4e00\u5c42 \u5b8c\u5168\u4e8c\u53c9\u6811 \u6309\u5c42\u5e8f\u7f16\u53f7\uff0c\u5012\u5e8f\u4ece\u6ee1\u4e8c\u53c9\u6811\u4e2d\u53bb\u6389\u4efb\u610f\u6570\u91cf\u7ed3\u70b9\uff0c\u6ee1\u4e8c\u53c9\u6811=\u300b\u5b8c\u5168\u4e8c\u53c9\u6811 2) \u4e8c\u53c9\u6811\u7684\u6027\u8d28 3) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"http:\/\/47.103.123.166\/index.php?rest_route=\/wp\/v2\/posts\/175"}],"collection":[{"href":"http:\/\/47.103.123.166\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/47.103.123.166\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/47.103.123.166\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/47.103.123.166\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=175"}],"version-history":[{"count":1,"href":"http:\/\/47.103.123.166\/index.php?rest_route=\/wp\/v2\/posts\/175\/revisions"}],"predecessor-version":[{"id":176,"href":"http:\/\/47.103.123.166\/index.php?rest_route=\/wp\/v2\/posts\/175\/revisions\/176"}],"wp:attachment":[{"href":"http:\/\/47.103.123.166\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/47.103.123.166\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=175"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/47.103.123.166\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}