HIT软件构造Lab2 Poetic Walks前半

阅读: 评论:0

HIT软件构造Lab2 Poetic Walks前半

HIT软件构造Lab2 Poetic Walks前半

2.1

Poetic Walks:通过任务学习泛型的设计,泛型类的测试,抽象类继承等方面的知识,根据自己设计的泛型实例完成任务。可变图:可以将顶点和边添加到图中或从图中删除;有向边:边从源顶点到目标顶点;加权边:边与正整数权重关联;标记顶点:顶点通过某种不可变类型的标签来区分,例如,它们可能具有String名称或IntegerID。

2.12

Problem 1: Test Graph <String>

Graph里面的empty()修改为

2.13

Problem 2: Implement Graph <String>

2.13.1

Implement ConcreteEdgesGraph

1.实现Edge类

public Edge (L source, L target, int weight)

private void checkRep()

public L getSourceVertex()

public L getTargetVertex()

public int getWeight()

public String toString()

2.实现ConcreteEdgeGraph类

加入顶点,如果成功返回True,不成功则返回False

public boolean add(L vertex)

如果weight<0,返回-1,如果weight大于0且边存在,更改weight,边不存在则加入新边,返回之前的weight。

public int set(L source, L target, int weight)

从vertices中删除vertex,并查找是否有边的起点或终点是vertex

public boolean remove(L vertex)

返回vertices

public Set<L> vertices()

寻找source,寻找target,返回map

public Map<L, Integer> sources(L target)

 

2.13.2

Implement ConcreteVerticesGraph

1.实现Vertex类

weight小于0返回-1,weight=0调用ve,weight>0调用Map.put返回初始值

public int Setsource(L source, int weight)

weight小于0返回-1,weight=0调用ve,weight>0调用Map.put返回初始值

public int Settarget(L target, int weight)

如果存在source,调用ve,,返回true;否则返回false。Target同理

public boolean Removesource(L source)

public boolean Removesource(L source)

返回名字

public L GetName()

都返回一个(点,权值)的map,根据传入的的source和target寻找以他们为起点的边。

public Map<L, Integer> getSources()

public Map<L, Integer> getTargets()

2.ConcreteVerticesGraph类

public ConcreteVerticesGraph()

private void checkRep()

方法基本功能同ConcreteEdgeGraph类

本文发布于:2024-01-31 12:01:13,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170667367228371.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:前半   软件   HIT   Walks   Poetic
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23