{"id":217,"date":"2023-12-01T10:27:45","date_gmt":"2023-12-01T02:27:45","guid":{"rendered":"http:\/\/www.zhang-junyi.com\/?p=217"},"modified":"2023-12-01T11:15:30","modified_gmt":"2023-12-01T03:15:30","slug":"12-1%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84","status":"publish","type":"post","link":"http:\/\/www.zhang-junyi.com\/?p=217","title":{"rendered":"12.1\u6570\u636e\u7ed3\u6784"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u5b9e\u9a8c 6 \u4e8c\u53c9\u6811\u5b50\u7cfb\u7edf<br>1.\u5b9e\u9a8c\u76ee\u7684<br>(1)\u638c\u63e1\u4e8c\u53c9\u6811\u7684\u7279\u70b9\u53ca\u5176\u5b58\u50a8\u7684\u65b9\u5f0f\u3002<br>(2)\u638c\u63e1\u4e8c\u53c9\u6811\u7684\u521b\u5efa\u548c\u663e\u793a\u65b9\u6cd5\u3002<br>(3)\u590d\u4e60\u4e8c\u53c9\u6811\u904d\u5386\u7684\u6982\u5ff5\uff0c\u638c\u63e1\u4e8c\u53c9\u6811\u904d\u5386\u7684\u57fa\u672c\u65b9\u6cd5\u3002<br>(4)\u638c\u63e1\u6c42\u4e8c\u53c9\u6811\u7684\u53f6\u5b50\u7ed3\u70b9\u6570\u3001\u6811\u7684\u603b\u7ed3\u70b9\u6570\u548c\u6811\u7684\u6df1\u5ea6\u7b49\u57fa\u672c\u7b97\u6cd5\u3002<br>2.\u5b9e\u9a8c\u5185\u5bb9<br>(1)\u7528\u5148\u5e8f\u65b9\u6cd5\u5efa\u7acb\u4e00\u68f5\u4e8c\u53c9\u6811\uff0c\u5e76\u80fd\u6309\u5e7f\u4e49\u8868\u8868\u793a\u6cd5\u663e\u793a\u4e8c\u53c9\u6811\u7ed3\u6784\u3002<br>(2)\u7f16\u5199\u5148\u5e8f\u904d\u5386\u3001\u4e2d\u5e8f\u904d\u5386\u3001\u540e\u5e8f\u904d\u5386\u3001\u5c42\u6b21\u904d\u5386\u7a0b\u5e8f\u3002<br>(3)\u7f16\u5199\u6c42\u4e8c\u53c9\u6811\u7ed3\u70b9\u6570\u3001\u6811\u7684\u603b\u7ed3\u70b9\u6570\u548c\u6df1\u5ea6\u7684\u7a0b\u5e8f\u3002<br>(4) \u8bbe\u8ba1\u9009\u62e9\u5f0f\u83dc\u5355\uff0c\u4ee5\u9009\u62e9\u83dc\u5355\u65b9\u5f0f\u8fdb\u884c\u64cd\u4f5c\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.\u5b9e\u9a8c\u6b65\u9aa4<br>(1) \u8f93\u5165\u5e76\u8c03\u8bd5\u7a0b\u5e8f\u3002<br>(2) \u6309\u5982\u56fe6-21 \u6240\u793a\u5efa\u7acb\u4e8c\u53c9\u6811\u3002<br>(3)\u6309\u5e7f\u4e49\u8868\u8868\u793a\u6cd5\u663e\u793a\u4e8c\u53c9\u6811\u7684\u7ed3\u6784\u3002<br>(4)\u8fdb\u884c\u7a0b\u5e8f\u7684\u5176\u4ed6\u8c03\u8bd5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*\u6811\u5b50\u7cfb\u7edf*\/\n#include &lt;stdio.h&gt;\n#include &lt;malloc.h&gt;\n#define MAX 100\nint count=0;\t\t\t\t\t\/*\u5b9a\u4e49\u8ba1\u7b97\u7ed3\u70b9\u4e2a\u6570\u7684\u53d8\u91cf*\/\ntypedef struct tnode\n{\n\tchar data;\t\t\t\t\t\/*\u4e8c\u53c9\u6811\u7ed3\u70b9\u503c*\/\n\tstruct tnode *lchild,*rchild;\t\t\t\t\/*\u5de6\u3001\u53f3\u5b69\u5b50\u7ed3\u70b9\u6307\u9488*\/\n}BT;\nBT *CreateBTree()\n{\t\t\t\t\/*\u4ee5\u5148\u5e8f\u5e8f\u5217\u8f93\u5165\u7ed3\u70b9\u7684\u503c\uff0c\u521b\u5efa\u4e8c\u53c9\u94fe\u8868*\/\n\tBT *t;\n\tchar ch;\n\tscanf(\"%c\", &amp;ch) ;\n\tgetchar();\n\tif(ch=='0')\n\t\tt=NULL;\n\telse\n\t{\n\t\tt=(BT *) malloc(sizeof(BT));\n\t\tt-&gt;data=ch;\n\t\tprintf(\"\u8bf7\u8f93\u5165%c\u7ed3\u70b9\u7684\u5de6\u5b69\u5b50\u7ed3\u70b9: \",t-&gt;data);\n\t\tt-&gt;lchild=CreateBTree();\n\t\tprintf(\"\u8bf7\u8f93\u5165%c\u7ed3\u70b9\u7684\u53f3\u5b69\u5b50\u7ed3\u70b9: \",t-&gt;data);\n\t\tt-&gt;rchild=CreateBTree();\n\t}\n\treturn t;\n}\nvoid ShowBTree(BT *T)\n{ \/*\u7528\u5e7f\u4e49\u8868\u8868\u793a\u6cd5\u663e\u793a\u4e8c\u53c9\u6811\u5b50\u51fd\u6570*\/\n\tif (T!=NULL) \/*\u5f53\u4e8c\u53c9\u6811\u975e\u7a7a\u65f6*\/\n\t{   printf(\"%c\",T-&gt;data); \/*\u8f93\u5165\u8be5\u7ed3\u70b9\u6570\u636e\u57df*\/\n\t\tif(T-&gt;lchild!=NULL) \/*\u82e5\u5176\u5de6\u5b50\u6811\u975e\u7a7a*\/\n\t\t{ printf(\"(\"); \/*\u8f93\u51fa\u5de6\u62ec\u53f7*\/\n\t\tShowBTree(T-&gt;lchild); \/*\u9012\u5f52\u8c03\u7528\u8be5\u51fd\u6570\u8f93\u51fa\u5176\u5de6\u5b50\u6811\u5404\u7ed3\u70b9*\/\n\t\tif(T-&gt;rchild!=NULL) \/*\u82e5\u5176\u53f3\u5b50\u6811\u975e\u7a7a*\/\n\t\t{   printf(\",\"); \/*\u8f93\u51fa\u9017\u53f7*\/\n\t\t\tShowBTree(T-&gt;rchild); \/*\u9012\u5f52\u8c03\u7528\u8be5\u51fd\u6570\u8f93\u51fa\u5176\u53f3\u5b50\u6811\u5404\u7ed3\u70b9*\/\n\t\t}\n\t\tprintf(\")\");\n\t}\n\telse\n\tif(T-&gt;rchild!=NULL) \/*\u82e5\u5176\u5de6\u5b50\u6811\u4e3a\u7a7a\uff0c\u53f3\u5b50\u6811\u4e0d\u4e3a\u7a7a*\/\n\t{\n\t\tprintf(\"(\"); \/*\u8f93\u51fa\u5de6\u62ec\u53f7*\/\n\t\tShowBTree(T-&gt;lchild); \/*\u9012\u5f52\u8c03\u7528\u8be5\u51fd\u6570\u8f93\u51fa\u5176\u5de6\u5b50\u6811\u5404\u7ed3\u70b9*\/\n\t\tif(T-&gt;rchild!=NULL) \/*\u82e5\u5176\u53f3\u5b50\u6811\u975e\u7a7a*\/\n\t\t{ printf(\",\"); \/*\u8f93\u51fa\u9017\u53f7*\/\n\t\t  ShowBTree(T-&gt;rchild); \/*\u9012\u5f52\u8c03\u7528\u8be5\u51fd\u6570\u8f93\u51fa\u5176\u53f3\u5b50\u6811\u5404\u7ed3\u70b9*\/\n\t\t}\n\t\tprintf(\")\");\n\t  }\n\t}\n}\n\nvoid PreOrder(BT *T)\n{ \/*\u5148\u5e8f\u904d\u5386\u4e8c\u53c9\u6811 T*\/\nif(T==NULL) return; \/* \u9012\u5f52\u8c03\u7528\u7684\u7ed3\u675f\u6761\u4ef6*\/\n\telse\n\t{ printf(\"%c\",T-&gt;data); \/* \u8f93\u51fa\u7ed3\u70b9\u7684\u6570\u636e\u57df*\/\n\t  PreOrder(T-&gt;lchild); \/* \u5148\u5e8f\u9012\u5f52\u904d\u5386\u5de6\u5b50\u6811*\/\n\t  PreOrder(T-&gt;rchild); \/* \u5148\u5e8f\u9012\u5f52\u904d\u5386\u53f3\u5b50\u6811*\/\n\t}\n}\n\nvoid InOrder(BT *T)\n{ \/* \u4e2d\u5e8f\u904d\u5386\u4e8c\u53c9\u6811T*\/\nif(T==NULL) return; \/* \u9012\u5f52\u8c03\u7528\u7684\u7ed3\u675f\u6761\u4ef6*\/\n\telse\n\t{ InOrder(T-&gt;lchild); \/* \u4e2d\u5e8f\u9012\u5f52\u904d\u5386\u5de6\u5b50\u6811*\/\n\t  printf(\"%c\",T-&gt;data); \/* \u8f93\u51fa\u7ed3\u70b9\u7684\u6570\u636e\u57df*\/\n\t  InOrder(T-&gt;rchild); \/* \u4e2d\u5e8f\u9012\u5f52\u904d\u5386\u53f3\u5b50\u6811*\/\n\t}\n}\n\t\nvoid PostOrder(BT *T)\n{ \/* \u540e\u5e8f\u904d\u5386\u4e8c\u53c9\u6811T*\/\nif (T==NULL) return; \/* \u9012\u5f52\u8c03\u7528\u7684\u7ed3\u675f\u6761\u4ef6*\/\n\telse\n\t{ PostOrder(T-&gt;lchild); \/* \u540e\u5e8f\u9012\u5f52\u904d\u5386\u5de6\u5b50\u6811*\/\n\t  PostOrder(T-&gt;rchild); \/* \u540e\u5e8f\u9012\u5f52\u904d\u5386\u53f3\u5b50\u6811*\/\n\t  printf(\"%c\",T-&gt;data); \/* \u8f93\u51fa\u7ed3\u70b9\u7684\u6570\u636e\u57df*\/\n\t}\n}\n\nvoid LevelOrder(BT *T)\n{ \/*\u6309\u5c42\u6b21\u904d\u5386\u4e8c\u53c9\u6811 T*\/\n\tint f,r; \/*\u5b9a\u4e49\u961f\u5934\u961f\u5c3e\u6307\u9488*\/\n\tBT *p,*q&#091;MAX]; \/*\u5b9a\u4e49\u5faa\u73af\u961f\u5217\uff0c\u5b58\u653e\u7ed3\u70b9\u6307\u9488*\/\n\tp=T;\n\tif(p!=NULL) \/*\u82e5\u4e8c\u53c9\u6811\u975e\u7a7a\uff0c\u5219\u6839\u7ed3\u70b9\u5730\u5740\u5165\u961f*\/\n\t { f=1; q&#091;f]=p; r=2; }\n\t  while(f!=r) \/*\u961f\u5217\u4e0d\u7a7a\u65f6*\/\n\t  { p=q&#091;f];\n\t\tprintf(\"%c\",p-&gt;data); \/*\u8bbf\u95ee\u961f\u9996\u7ed3\u70b9\u7684\u6570\u636e\u57df*\/\n\t\tif(p-&gt;lchild!=NULL) \/*\u5c06\u961f\u9996\u7ed3\u70b9\u7684\u5de6\u5b69\u5b50\u5165\u961f*\/\n\t\t{ q&#091;r]=p-&gt;lchild; r=(r+1) %MAX; }\n\t\t if(p-&gt;rchild!=NULL) \/*\u5c06\u961f\u9996\u7ed3\u70b9\u7684\u53f3\u5b69\u5b50\u5165\u961f*\/\n\t\t\t{ q&#091;r]=p-&gt;rchild; r=(r+1) %MAX; }\n\t\t\t\tf=(f+1) %MAX;\n\t\t}\n}\n\nvoid Leafnum(BT *T)\n{\t\/*\u6c42\u4e8c\u53c9\u6811\u53f6\u5b50\u7ed3\u70b9\u6570*\/\n\tif(T) \/*\u82e5\u6811\u4e0d\u4e3a\u7a7a*\/\n\t{ if(T-&gt;lchild==NULL &amp;&amp; T-&gt;rchild==NULL)\n\t\tcount++; \/*\u5168\u5c40\u53d8\u91cf count\u4e3a\u8ba1\u6570\u503c,\u5176\u521d\u503c\u4e3a0*\/\n\t\tLeafnum(T-&gt;lchild); \/*\u9012\u5f52\u7edf\u8ba1 T \u7684\u5de6\u5b50\u6811\u53f6\u5b50\u7ed3\u70b9\u6570*\/\n\tLeafnum(T-&gt;rchild); \/*\u9012\u5f52\u7edf\u8ba1T\u7684\u53f3\u5b50\u6811\u53f6\u5b50\u7ed3\u70b9\u6570*\/\n\t}\n}\n\nvoid Nodenum(BT *T)\n{ \/*\u6c42\u4e8c\u53c9\u6811\u4e2d\u603b\u7ed3\u70b9\u6570*\/\n\tif(T) \/*\u82e5\u6811\u4e0d\u4e3a\u7a7a*\/\n\t{\n\t\tcount++; \/*\u5168\u5c40\u53d8\u91cf count\u4e3a\u8ba1\u6570\u503c, \u5176\u521d\u503c\u4e3a0*\/\n\t\tNodenum(T-&gt;lchild); \/*\u9012\u5f52\u7edf\u8ba1T\u7684\u5de6\u5b50\u6811\u7ed3\u70b9\u6570*\/\n\t\tNodenum(T-&gt;rchild); \/*\u9012\u5f52\u7edf\u8ba1T\u7684\u53f3\u5b50\u6811\u7ed3\u70b9\u6570*\/\n\t}\n}\nint TreeDepth(BT *T)\n{ \/*\u6c42\u4e8c\u53c9\u6811\u6df1\u5ea6*\/\n\tint ldep=0, rdep=0; \/*\u5b9a\u4e49\u4e24\u4e2a\u6574\u578b\u53d8\u91cf,\u7528\u4ee5\u5b58\u653e\u5de6\u3001\u53f3\u5b50\u6811\u7684\u6df1\u5ea6*\/\n\tif(T==NULL)\n\t\treturn 0;\n\telse\n\t{ ldep=TreeDepth(T-&gt;lchild); \/*\u9012\u5f52\u7edf\u8ba1T\u7684\u5de6\u5b50\u6811\u6df1\u5ea6*\/\n\trdep=TreeDepth(T-&gt;rchild); \/*\u9012\u5f52\u7edf\u8ba1T\u7684\u53f3\u5b50\u6811\u6df1\u5ea6*\/\n\tif(ldep&gt;rdep)\n\t\treturn ldep+1;\n\telse\n\t\treturn rdep+1;\n\t}\n}\nvoid MenuTree()\n{ \/*\u663e\u793a\u83dc\u5355\u5b50\u51fd\u6570*\/\nprintf(\"\\n \u4e8c\u53c9\u6811\u5b50\u7cfb\u7edf\");\nprintf(\"\\n==================================\");\nprintf(\"\\n| 1\u2014\u2014\u5efa\u7acb\u4e00\u4e2a\u65b0\u4e8c\u53c9\u6811          |\");\nprintf(\"\\n| 2\u2014\u2014\u5e7f\u4e49\u8868\u8868\u793a\u6cd5\u663e\u793a          |\");\nprintf(\"\\n| 3\u2014\u2014\u5148\u5e8f\u904d\u5386                  |\");\nprintf(\"\\n| 4\u2014\u2014\u4e2d\u5e8f\u904d\u5386                  |\");\nprintf(\"\\n| 5\u2014\u2014\u540e\u5e8f\u904d\u5386                  |\");\nprintf(\"\\n| 6\u2014\u2014\u5c42\u6b21\u904d\u5386                  |\");\nprintf(\"\\n| 7\u2014\u2014\u6c42\u53f6\u5b50\u7ed3\u70b9\u6570\u76ee            |\");\nprintf(\"\\n| 8\u2014\u2014\u6c42\u4e8c\u53c9\u6811\u603b\u7ed3\u70b9\u6570\u76ee        |\");\nprintf(\"\\n| 9\u2014\u2014\u6c42\u6811\u6df1\u5ea6                  |\");\nprintf(\"\\n| 0\u2014\u2014\u8fd4\u56de                      |\");\nprintf(\"\\n==================================\");\nprintf(\"\\n\u8bf7\u8f93\u5165\u83dc\u5355\u53f7(0-9) :\");\n}\nmain()\n{\n\tBT *T=NULL;\n\tchar ch1,ch2,a;\n\tch1='y';\n\twhile(ch1=='y'||ch1=='Y')\n\t{ MenuTree();\n\t  scanf(\"%c\",&amp;ch2);\n\t  getchar();\n\t  switch(ch2)\n{\n\tcase '1':\n\t\tprintf(\"\u8bf7\u6309\u5148\u5e8f\u5e8f\u5217\u8f93\u5165\u4e8c\u53c9\u6811\u7684\u7ed3\u70b9: \\n\");\n\t\tprintf(\"\u8bf4\u660e: \u8f93\u5165\u7ed3\u70b9\u540e\u6309\u56de\u8f66\u952e('0'\u8868\u793a\u540e\u7ee7\u7ed3\u70b9\u4e3a\u7a7a): \\n\");\n\t\tprintf(\"\u8bf7\u8f93\u5165\u6839\u7ed3\u70b9: \");\n\t\tT=CreateBTree();\n\t\tprintf(\"\u4e8c\u53c9\u6811\u6210\u529f\u5efa\u7acb!\");break;\n\tcase '2':\n\t\tprintf(\"\u4e8c\u53c9\u6811\u5e7f\u4e49\u8868\u8868\u793a\u6cd5\u5982\u4e0b: \");\n\t\tShowBTree(T);break;\n\tcase '3':\n\t\tprintf(\"\u4e8c\u53c9\u6811\u7684\u5148\u5e8f\u904d\u5386\u5e8f\u5217\u4e3a: \");\n\t\tPreOrder(T);\n\t\tbreak;\n\tcase '4':\n\t\tprintf(\"\u4e8c\u53c9\u6811\u7684\u4e2d\u5e8f\u904d\u5386\u5e8f\u5217\u4e3a: \");\n\t\tInOrder(T);break;\n\tcase '5':\n\t\tprintf(\"\u4e8c\u53c9\u6811\u7684\u540e\u5e8f\u904d\u5386\u5e8f\u5217\u4e3a: \");\n\t\tPostOrder(T);break;\n\tcase '6':\n\t\tprintf(\"\u4e8c\u53c9\u6811\u7684\u5c42\u6b21\u904d\u5386\u5e8f\u5217\u4e3a: \");\n\t\tLevelOrder(T);break;\n\tcase '7':\n\t\tcount=0;Leafnum(T);\n\t\tprintf(\"\u8be5\u4e8c\u53c9\u6811\u6709%d\u4e2a\u53f6\u5b50\u3002\", count);break;\n\tcase '8':\n\t\tcount=0;Nodenum(T);\n\t\tprintf(\"\u8be5\u4e8c\u53c9\u6811\u5171\u6709%d\u4e2a\u7ed3\u70b9\u3002\", count);break;\n\tcase '9':\n\t\tprintf(\"\u8be5\u4e8c\u53c9\u6811\u7684\u6df1\u5ea6\u662f%d\u3002\",TreeDepth(T));break;\n\tcase '0':\n\t\tch1='n';break;\n\tdefault:\n\t\tprintf(\"\u8f93\u5165\u6709\u8bef,\u8bf7\u8f93\u51650-9\u8fdb\u884c\u9009\u62e9!\");\n}\nif(ch2!='0')\n{\tprintf(\"\\n\u6309\u56de\u8f66\u952e\u7ee7\u7eed,\u6309\u4efb\u610f\u952e\u8fd4\u56de\u4e3b\u83dc\u5355! \\n\");\n\ta=getchar();\n\tif(a!='\\xA')\n{\n\tgetchar();ch1='n';\n\t\t}\n\t}\n  }\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5b9e\u9a8c 6 \u4e8c\u53c9\u6811\u5b50\u7cfb\u7edf1.\u5b9e\u9a8c\u76ee\u7684(1)\u638c\u63e1\u4e8c\u53c9\u6811\u7684\u7279\u70b9\u53ca\u5176\u5b58\u50a8\u7684\u65b9\u5f0f\u3002(2)\u638c\u63e1\u4e8c\u53c9\u6811\u7684\u521b\u5efa\u548c\u663e\u793a\u65b9\u6cd5\u3002(3 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-217","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=\/wp\/v2\/posts\/217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=217"}],"version-history":[{"count":5,"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=\/wp\/v2\/posts\/217\/revisions"}],"predecessor-version":[{"id":223,"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=\/wp\/v2\/posts\/217\/revisions\/223"}],"wp:attachment":[{"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=217"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.zhang-junyi.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}