This commit is contained in:
krahets
2023-12-02 06:24:11 +08:00
parent 5783c402bf
commit d20d8b3ee1
107 changed files with 1685 additions and 1745 deletions
+7 -7
View File
@@ -3384,13 +3384,13 @@
<h1 id="94">9.4 &nbsp; 小结<a class="headerlink" href="#94" title="Permanent link">&para;</a></h1>
<h3 id="1">1. &nbsp; 重点回顾<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
<ul>
<li>图由顶点和边组成,可以表示为一组顶点和一组边构成的集合。</li>
<li>图由顶点和边组成,可以表示为一组顶点和一组边构成的集合。</li>
<li>相较于线性关系(链表)和分治关系(树),网络关系(图)具有更高的自由度,因而更为复杂。</li>
<li>有向图的边具有方向性,连通图中的任意顶点均可达,有权图的每条边都包含权重变量。</li>
<li>邻接矩阵利用矩阵来表示图,每一行(列)代表一个顶点,矩阵元素代表边,用 <span class="arithmatex">\(1\)</span><span class="arithmatex">\(0\)</span> 表示两个顶点之间有边或无边。邻接矩阵在增删查操作上效率很高,但空间占用较多。</li>
<li>邻接表使用多个链表来表示图,第 <span class="arithmatex">\(i\)</span> 链表对应顶点 <span class="arithmatex">\(i\)</span> ,其中存储了该顶点的所有邻接顶点。邻接表相对于邻接矩阵更加节省空间,但由于需要遍历链表来查找边,时间效率较低。</li>
<li>邻接矩阵利用矩阵来表示图,每一行(列)代表一个顶点,矩阵元素代表边,用 <span class="arithmatex">\(1\)</span><span class="arithmatex">\(0\)</span> 表示两个顶点之间有边或无边。邻接矩阵在增删查操作上效率很高,但空间占用较多。</li>
<li>邻接表使用多个链表来表示图,第 <span class="arithmatex">\(i\)</span> 链表对应顶点 <span class="arithmatex">\(i\)</span> ,其中存储了该顶点的所有邻接顶点。邻接表相对于邻接矩阵更加节省空间,但由于需要遍历链表来查找边,因此时间效率较低。</li>
<li>当邻接表中的链表过长时,可以将其转换为红黑树或哈希表,从而提升查询效率。</li>
<li>从算法思想角度分析,邻接矩阵体现“以空间换时间”,邻接表体现“以时间换空间”。</li>
<li>从算法思想角度分析,邻接矩阵体现“以空间换时间”,邻接表体现“以时间换空间”。</li>
<li>图可用于建模各类现实系统,如社交网络、地铁线路等。</li>
<li>树是图的一种特例,树的遍历也是图的遍历的一种特例。</li>
<li>图的广度优先遍历是一种由近及远、层层扩张的搜索方式,通常借助队列实现。</li>
@@ -3400,15 +3400,15 @@
<div class="admonition question">
<p class="admonition-title">路径的定义是顶点序列还是边序列?</p>
<p>维基百科上不同语言版本的定义不一致:英文版是“路径是一个边序列”,而中文版是“路径是一个顶点序列”。以下是英文版原文:In graph theory, a path in a graph is a finite or infinite sequence of edges which joins a sequence of vertices.
在本文中,路径被认为是一个边序列,而不是一个顶点序列。这是因为两个顶点之间可能存在多条边连接,此时每条边都对应一条路径。</p>
在本文中,路径被视为一个边序列,而不是一个顶点序列。这是因为两个顶点之间可能存在多条边连接,此时每条边都对应一条路径。</p>
</div>
<div class="admonition question">
<p class="admonition-title">非连通图中是否会有无法遍历到的点?</p>
<p class="admonition-title">非连通图中是否会有无法遍历到的点?</p>
<p>在非连通图中,从某个顶点出发,至少有一个顶点无法到达。遍历非连通图需要设置多个起点,以遍历到图的所有连通分量。</p>
</div>
<div class="admonition question">
<p class="admonition-title">在邻接表中,“与该顶点相连的所有顶点”的顶点顺序是否有要求?</p>
<p>可以是任意顺序。但在实际应用中,可能需要按照指定规则来排序,比如按照顶点添加的次序或者按照顶点值大小的顺序等,这样可以有助于快速查找“带有某种极值”的顶点。</p>
<p>可以是任意顺序。但在实际应用中,可能需要按照指定规则来排序,比如按照顶点添加的次序或者按照顶点值大小的顺序等,这样有助于快速查找“带有某种极值”的顶点。</p>
</div>
<!-- Source file information -->