单源最短路径(一)————松弛技术

本文介绍了一个抽象类Graphics,用于实现图论中最短路径算法的基本框架。该类提供了初始化单源节点距离、松弛操作以及显示路径的方法,并定义了一个抽象方法用于寻找最小路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. packageom.eshore.sweetop.minpath;
  2. importjava.util.ArrayList;
  3. importjava.util.List;
  4. publicabstractclassGraphics{
  5. protectedList<Vertex>list=newArrayList<Vertex>();
  6. publicvoidinitSingleSource(Vertexv){
  7. for(Vertexu:list){
  8. u.setD(Integer.MAX_VALUE);
  9. u.setParent(null);
  10. }
  11. v.setD(0);
  12. }
  13. publicvoidrelax(Vertexu,Vertexv){
  14. if(v.getD()>u.getD()+u.weight(v)){
  15. v.setD(u.getD()+u.weight(v));
  16. v.setParent(u);
  17. }
  18. }
  19. publicvoiddisplay(Vertexv){
  20. booleanstart=false;
  21. for(Vertexu:list){
  22. if(u==v){
  23. start=true;
  24. }
  25. if(start){
  26. for(Vertexx:u.getV()){
  27. if(x.getParent()==u){
  28. System.out.println(u+"-->"+x);
  29. }
  30. }
  31. }
  32. }
  33. }
  34. publicabstractbooleanminPath(Vertexv);
  35. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值