[计算机软件及应用]8第八章 贪心算法.pptVIP

  • 30
  • 0
  • 约8.16千字
  • 约 51页
  • 2018-03-09 发布于浙江
  • 举报

[计算机软件及应用]8第八章 贪心算法.ppt

[计算机软件及应用]8第八章 贪心算法

heyichao@sjzue.edu.cn 此算法概括如下,它找出了最小生成树T的边集。 1. T ?{};X ?{1};Y ?V-{1} 2. While Y ≠{} 3. 设(x,y)是最小权重的边,其中x∈X,y∈Y 4. X ? X ∪{y} 5. Y ?Y-{y} 6. T ?T ∪{(x,y)} 7. End while 例,8.4 PRIM算法的实现 假设输入用邻接表表示。边(x,y)的耗费(即权重)记为c[x,y],存储在对应于x的邻接表中y的节点里。X和Y两个集合用布尔向量X[1…n]和Y[1…n]来实现。 初始时,X[1]=1, Y[1]=0,并且对所有i, 2≤i≤n, X[i]=0,Y[i]=1。这样,通过置X[y]为1来实行运算X?X∪{y},并且用置Y[y]为0来实现运算Y?Y-{y}。树的边集T用链表来实现,这样要实现运算T?T ∪{x,y}就简单地把边(x,y)添加到T中。 如果(x,y)是一条这样的边:x∈X,y∈Y,则称y为边界顶点,它是从Y移向X的候选顶点。设y为边界顶点,那么至少存在一个顶点x∈X与之邻接。 定义y的邻居(记为N[y])是X中具有以下性质的那个顶点x:在所有X中邻接于y的顶点中,c[x,y]最小。 我们又定义C[y]=

文档评论(0)

1亿VIP精品文档

相关文档