Data Structure Lecture Note (Week 4, Lecture 12)

Today we will focus on proof. They are not trivial. They are constructive, might be useful in future studies.

Spanning Tree

Spanning tree of a graph is a tree that contains all the vertices of the graph, and edges of the trees are a subset of edges on the graph, spanning tree is a subgraph of the original graph.

DFS / BFS trees are spanning trees

minimum spanning tree on undirected weighted graph is the spanning tree with minimum sum of weight on edges

Minimum Spanning tree algorithm

Given a weighted undirected graph G, find a spanning tree of graph G such that the sum of weights is minimized

Prim’s Algorithm

Greedy algorithm

Initialize a tree with a single vertex, chosen arbitrarily from the graph

Grow the tree by one edge: of the eges that connect the tree to vertices not yet in the tree, find the minimum-weight edge, and transfer it to the tree.

Repeat last step, until all vertices are in the tree.

https://www.geeksforgeeks.org/prims-minimum-spanning-tree-mst-greedy-algo-5/

The solution is not unique. Ties are broken arbitrarily.


Prim’s algorithm 1

Let S = {1}

(*) choose a minimum weighted edge (a,b) from V-S to S, add a to S

repeat (*) until S = V

cost of (*) step added together, note that there are |E| many edges in total, if we use HEAP + linked list, we will add and remove at most 2|E| edges from heap which costs |E| log |V|

Prim’s algorithm 2

Let S = { 1 }

(*) Choose a minimum weighted edge (a, b) from V – S to S, add a to S

Implement by adjacency matrix

repeat (*) until S = V

O(|V|^2)


Claim: each step k of (*)[^1]( Choose a minimum weighted edge (a, b) from V – S to S, add a to S ) , let U_k be the set of edges selected, then there is a MST T T T such taht for all k, U k ⊂ T U_k \subset T

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值