1 / 7

第四节 最小树问题

第四节 最小树问题. 最小树及其性质 求最小树的 Kruskal 算法 算法步骤 算法复杂性 求最小树的 Dijkstra 算法 算法步骤 算法复杂性. 证明. 最小树及其性质. 支撑树 T 的权(或长) : 最小树 : G 中权最小的支撑树 定理 6.4.1 设 T 是 G 的一个支撑树,则 T 是 G 的最小树当且仅当对任意边 e ∈ T * 有. 证明. 最小树及其性质. 续. 定理 6.4.3 设 T 是 G 的支撑树,则 T 是 G 的唯一最小树当且仅当对任意边 e ∈ G T , e 是 C ( e ) 中的唯一最大边。

quana
Download Presentation

第四节 最小树问题

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四节 最小树问题 最小树及其性质 求最小树的Kruskal算法 算法步骤 算法复杂性 求最小树的Dijkstra算法 算法步骤 算法复杂性

  2. 证明 最小树及其性质 支撑树T的权(或长): 最小树:G中权最小的支撑树 定理6.4.1设T是G的一个支撑树,则T是G的最小树当且仅当对任意边e∈T*有

  3. 证明 最小树及其性质 续 定理6.4.3设T是G的支撑树,则T是G的唯一最小树当且仅当对任意边e∈G\T,e是C(e)中的唯一最大边。 定理6.4.4设T是G的支撑树,则T是G的唯一最小树当且仅当对任意边e∈T,e是Ω(e)中的唯一最小边。

  4. Kruskal算法的步骤 第1步 开始把边按权的大小由小到大排列,即将图的边排序为a1,a2, …,am,使W(a1) ≤W(a2)≤…≤W(am) 置S=Φ,i=0,j=1。 第2步 若|S|=i=n-1,则停止。这时G[S]=T即为所求;否则,转向第3步。 第3步 若G[S∪{aj}]不构成回路,则置ei+1=aj,S=S∪{ei+1},i:=i+1,j:=j+1,转向第2步;否则,置j:=j+1,转向第2步。

  5. Kruskal算法的复杂性 首先,在第1步中把边按权的大小由小到大排列起来,这约需mlog2m次比较(m为此网络的边数) 其次,第2步最多循环n次 在第3步中,判定加边后是否构成回路总共约需m次比较,而加边后点的重新标号最多需n(n-1)次比较 所以,总的计算量为 mlog2m+n+m+n(n-1)~O(n2log2n)

  6. Dijkstra算法的步骤 第1步 置uj=w1j,T=Φ,R={1},S={2,3, …,n}

  7. Dijkstra算法的复杂性 执行第2步时,第一次是(n-2)次比较, 第二次为(n-3)次比较, 第三次为(n-4)次比较,…, 因此总的比较为(n-1)(n-2)/2次 执行第3步时,第一次是(n-2)次比较, 第二次为(n-3)次比较, 第三次为(n-4)次比较,…, 因此总的比较为(n-1)(n-2)次 所以,总的计算量约为O(n2)

More Related