数据结构1800题-错题集-第七章
接著搞數據結構錯題集(⊙o⊙)…
序號標題為解答,引用為題目和答案
設無向圖的頂點個數為 n,則該圖最多有( B )條邊
A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E. n2
解析:無向邊需要n-1個邊把結點串聯起來,但是有向邊需要再加一個邊,使得任意兩個頂點聯通起來
一個 n 個頂點的連通有向圖, 其邊的個數至少為 ( B )。
A.n-l B.n C.n+l D.2n
單獨的一個結點也是一個連通分量,總共n個結點就有n個連通分量
一個有 n 個結點的圖,最少有( 1 )個連通分量,最多有( n )個連通分量
在一個無向圖中,所有頂點的度數之和等于所有邊數( 2 )倍,在一個有向圖中,所
有頂點的入度之和等于所有頂點出度之和的( 1 )倍
用有向無環圖描述表達式 (A+B)* ((A+B )/A),至少需要頂點的數目為 ( A )?!局猩酱髮W
1999 一、 14】
A.5 B. 6 C. 8 D.9
如果是隊列:拓撲有序
如果是棧:逆拓撲有序
逆鄰接表:反映的是頂點的入度情況。
十字鏈表:整合鄰接表和逆鄰接表。(針對有向圖的存儲結構進行了優化)
鄰接多重表:存儲無向圖的方式,可看作是鄰接表和十字鏈表的結合
下面結構中最適于表示稀疏無向圖的是( C ),適于表示稀疏有向圖的是( BDE )。
A.鄰接矩陣 B.逆鄰接表 C.鄰接多重表 D.十字鏈表 E.鄰接表
A^m(i,j)表示Vi和Vj之間至少存在一條長度為m的路徑
用相鄰矩陣 A 表示圖,判定任意兩個頂點 Vi 和 Vj 之間是否有長度為 m 的路徑相連,
則只要檢查( A^m )的第 i 行第 j 列的元素是否為零即可。
深度和廣度的選擇不按有向和無向來選擇。深度優先適合目標比較明確,以找到目標為主要目的的情況,而廣度優先更適合在不斷擴大遍歷范圍時找到相對最優解的情況
無向圖 G=(V,E), 其中: V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)} ,對該圖進
行深度優先遍歷,得到的頂點序列正確的是(D)
A.a,b,e,c,d,f B. a,c,f,e,b,d C.a,e,b,c,f,d D.a,e,d,f,c,b
下面哪一方法可以判斷出一個有向圖是否有環(回路)(A B) :【東北大學 2000 4、2(4 分)】
A.深度優先遍歷 B. 拓撲排序 C. 求最短路徑 D. 求關鍵路徑
Prim算法的時間復雜度
鄰接表存儲時,是 O(n+e)
圖的時候 是O(n^2)
深度優先搜索,是從圖中的一個頂點出發,每次遍歷當前訪問頂點的臨界點,一直到訪問的頂點沒有未被訪問過的臨界點為止。然后采用依次回退的方式,查看來的路上每一個頂點是否有其它未被訪問的臨界點。訪問完成后,判斷圖中的頂點是否已經全部遍歷完成,如果沒有,以未訪問的頂點為起始點,重復上述過程。
廣度優先搜索類似于樹的層次遍歷。從圖中的某一頂點出發,遍歷每一個頂點時,依次遍歷其所有的鄰接點,然后再從這些鄰接點出發,同樣依次訪問它們的鄰接點。按照此過程,直到圖中所有被訪問過的頂點的鄰接點都被訪問到。
拓撲排序(Topological Sorting)是一個有向無環圖(DAG, Directed Acyclic Graph)的所有頂點的線性序列。且該序列必須滿足下面兩個條件:
①每個頂點出現且只出現一次。
②若存在一條從頂點 A 到頂點 B 的路徑,那么在序列中頂點 A 出現在頂點 B 的前面。(有向無環圖(DAG)才有拓撲排序,非DAG圖沒有拓撲排序一說。)
拓撲排序規則,不允許在順序之前就執行了某個結點
已知有向圖 G=(V,E),其中 V={V1,V2,V3,V4,V5,V6,V7} ,
E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G
的拓撲序列是( A )。
A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7
C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7
接表的邊結點個數為 2e。
search遍歷圖的時間復雜度 O(n + e),兩者不同之處在于 訪問頂點的順序不同,反映在數據結構上的差別是隊列和棧。
度為 O(n2),利用 Kruskal 算法生成最小代價生成樹其時間復雜度為 O(eloge)。
總結
以上是生活随笔為你收集整理的数据结构1800题-错题集-第七章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server触发器简单例子
- 下一篇: oracle导出要工具,Oracle导出