This commit is contained in:
krahets
2023-07-26 08:59:03 +08:00
parent fd34c845bc
commit 974fea7de4
48 changed files with 299 additions and 299 deletions

View File

@@ -3480,8 +3480,8 @@
<p>如下代码给出了数组表示下的二叉树的简单实现,包括以下操作:</p>
<ul>
<li>给定某节点,获取它的值、左(右)子节点、父节点</li>
<li>获取前序遍历、中序遍历、后序遍历、层序遍历序列</li>
<li>给定某节点,获取它的值、左(右)子节点、父节点</li>
<li>获取前序遍历、中序遍历、后序遍历、层序遍历序列</li>
</ul>
<div class="tabbed-set tabbed-alternate" data-tabs="2:11"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><input id="__tabbed_2_3" name="__tabbed_2" type="radio" /><input id="__tabbed_2_4" name="__tabbed_2" type="radio" /><input id="__tabbed_2_5" name="__tabbed_2" type="radio" /><input id="__tabbed_2_6" name="__tabbed_2" type="radio" /><input id="__tabbed_2_7" name="__tabbed_2" type="radio" /><input id="__tabbed_2_8" name="__tabbed_2" type="radio" /><input id="__tabbed_2_9" name="__tabbed_2" type="radio" /><input id="__tabbed_2_10" name="__tabbed_2" type="radio" /><input id="__tabbed_2_11" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Java</label><label for="__tabbed_2_2">C++</label><label for="__tabbed_2_3">Python</label><label for="__tabbed_2_4">Go</label><label for="__tabbed_2_5">JavaScript</label><label for="__tabbed_2_6">TypeScript</label><label for="__tabbed_2_7">C</label><label for="__tabbed_2_8">C#</label><label for="__tabbed_2_9">Swift</label><label for="__tabbed_2_10">Zig</label><label for="__tabbed_2_11">Dart</label></div>
<div class="tabbed-content">
@@ -3957,15 +3957,15 @@
<h2 id="733">7.3.3. &nbsp; 优势与局限性<a class="headerlink" href="#733" title="Permanent link">&para;</a></h2>
<p>二叉树的数组表示的优点包括:</p>
<ul>
<li>数组存储在连续的内存空间中,对缓存友好,访问与遍历速度较快</li>
<li>不需要存储指针,比较节省空间</li>
<li>允许随机访问节点</li>
<li>数组存储在连续的内存空间中,对缓存友好,访问与遍历速度较快</li>
<li>不需要存储指针,比较节省空间</li>
<li>允许随机访问节点</li>
</ul>
<p>然而,数组表示也具有一些局限性:</p>
<ul>
<li>数组存储需要连续内存空间,因此不适合存储数据量过大的树</li>
<li>增删节点需要通过数组插入与删除操作实现,效率较低</li>
<li>当二叉树中存在大量 <span class="arithmatex">\(\text{None}\)</span> 时,数组中包含的节点数据比重较低,空间利用率较低</li>
<li>数组存储需要连续内存空间,因此不适合存储数据量过大的树</li>
<li>增删节点需要通过数组插入与删除操作实现,效率较低</li>
<li>当二叉树中存在大量 <span class="arithmatex">\(\text{None}\)</span> 时,数组中包含的节点数据比重较低,空间利用率较低</li>
</ul>