⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds6.2.3.3.htm

📁 这是清华大学所用的数据结构的电子版教材
💻 HTM
📖 第 1 页 / 共 3 页
字号:
mso-hansi-font-family:&quot;Times New Roman&quot;">)初始建立二叉树</span><span lang="EN-US">bt</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">,并使</span><span lang="EN-US">bt</span><span style="font-family:
宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">指向头结点。在二叉树根结点前建立头结点,就如同在单链表前建立的头结点,可以方便后边的一些操作实现。</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">int   
Initiate (BiTree<span style="mso-spacerun: yes">&nbsp; </span>*bt)</font></b></font></span></p>  
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">{</font></b></font></span><font color="#FFFFFF"><b><font size="5"><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">/*</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">初始化建立二叉树</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">*bt</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">的头结点</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">*/<o:p>
</o:p>  
</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">if((*bt=(BiTNode   
*)malloc(sizeof(BiTNode)))==NULL)</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">return 0;</font></b></font></span></p>  
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">*bt-&gt;lchild=NULL;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">*bt-&gt;rchild=NULL;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">return 1;</font></b></font></span></p>  
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">&nbsp; <span lang="EN-US"><font size="5" color="#FFFFFF"><b>}</b></font></span></p>  
<p class="MsoNormal" align="center" style="text-align:center;text-indent:21.0pt"><font size="5" color="#FFFFFF"><b><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">算法</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt"> 
6.1<o:p>  
</o:p>  
</span></b></font></p>
<p class="MsoNormal" align="center" style="text-align:center;text-indent:21.0pt"><span lang="EN-US" style="mso-bidi-font-size: 10.0pt"><font size="5" color="#FFFFFF"><b>&nbsp;<o:p>
</o:p>  
</b></font></span></p>
<p class="MsoNormal"><font size="5" color="#FFFFFF"><b><span style="mso-spacerun: yes" lang="EN-US">&nbsp;</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">(</span><span lang="EN-US">2</span><span style="font-family:
宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">)</span><span lang="EN-US">Create</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">(</span><span lang="EN-US">x</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">,</span><span lang="EN-US">lbt</span><span style="font-family:
宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">rbt</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">)建立一棵以</span><span lang="EN-US">x</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">为根结点的数据域信息,以二叉树</span><span lang="EN-US">lbt</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">和</span><span lang="EN-US">rbt</span><span style="font-family:
宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">为左右子树的二叉树。建立成功时返回所建二叉树结点的指针;建立失败时返回空指针。</span></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><font color="#FFFFFF"><b><font size="5">BiTree   
Create</font></b></font></span><font color="#FFFFFF"><b><font size="5"><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">(</span><span lang="EN-US">elemtype   
x</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">BiTree   
lbt</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">BiTree   
rbt</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">)</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><font color="#FFFFFF"><b><font size="5">{</font></b></font></span><font color="#FFFFFF"><b><font size="5"><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">/*</span></font><font size="4"><span style="mso-bidi-font-size: 10.0pt"><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">生成一棵以</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">x</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">为根结点的数据域值以</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">lbt</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">和</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">rbt</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">为左右子树的二叉树</span></span></font><font size="5"><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">*/<o:p>
</o:p>  
</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">BiTree<span style="mso-spacerun: yes">&nbsp; 
</span>p;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">if   
((p=(BiTNode *)malloc(sizeof(BiTNode)))==NULL)&nbsp;&nbsp;</font></b></font></span></p>  
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><font color="#FFFFFF"><b><font size="5">&nbsp;&nbsp;   
return NULL;</font></b></font></span></p>  
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">p-&gt;data=x;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">p-&gt;lchild=lbt;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">p-&gt;rchild=rbt;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;</font></b></font></span><font color="#FFFFFF"><b><font size="5">return   
p;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0">&nbsp;<span lang="EN-US"><font size="5" color="#FFFFFF"><b>}</b></font></span></p>
<p class="MsoNormal" align="center" style="text-align:center;text-indent:21.0pt"><font size="5" color="#FFFFFF"><b><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">算法</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt"> 
6.2<o:p>  
</o:p>  
</span></b></font></p>
<p class="MsoNormal" align="left" style="text-indent: 0; margin-top: 0; margin-bottom: 0"><font size="5" color="#FFFFFF"><b><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">(</span><span lang="EN-US">3</span><span style="font-family:
宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">)</span><span lang="EN-US">InsertL</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">(</span><span lang="EN-US">bt</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">x</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">,</span><span lang="EN-US">parent</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:
&quot;Times New Roman&quot;">)</span></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><font color="#FFFFFF"><b><font size="5">BiTree   
InsertL</font></b></font></span><font color="#FFFFFF"><b><font size="5"><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">(</span><span lang="EN-US">BiTree   
bt</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">elemtype   
x</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">BiTree   
parent</span><span style="font-family:宋体;mso-ascii-font-family:
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">)</span></font></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><font size="5" color="#FFFFFF"><b><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;</span>{</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">/*</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">在二叉树</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">bt</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">的结点</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">parent</span><span style="mso-bidi-font-size: 10.0pt; font-family: 宋体; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">的左子树插入结点数据元素</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt">x*/<o:p>
</o:p>  
</span></b></font></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">BiTree<span style="mso-spacerun: yes">&nbsp; 
</span>p;</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">if   
(parent==NULL)</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;&nbsp;&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">{ printf(“\n</font></b></font></span><font color="#FFFFFF"><b><font size="5"><span style="font-family:宋体;mso-ascii-font-family:  
&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">插入出错</span><span lang="EN-US">”)</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;
mso-hansi-font-family:&quot;Times New Roman&quot;">;</span></font></b></font><span lang="EN-US"><font color="#FFFFFF"><b><font size="5">return   
NULL;</font></b></font><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5"> 
</font></b></font></span><font color="#FFFFFF"><b><font size="5">}</font></b></font></span></p>
<p class="MsoNormal" style="margin-top: 0; margin-bottom: 0"><span lang="EN-US"><span style="mso-spacerun: yes"><font color="#FFFFFF"><b><font size="5">&nbsp;&nbsp;   
</font></b></font></span><font color="#FFFFFF"><b><font size="5">if ((p=(BiTNode   
*)malloc(sizeof(BiTNode)))==NULL)&nbsp;&nbsp;</font></b></font></span></p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -