OO第三单元总结

OO第三单元总结

一、架构设计

1.第九次作业

  本次作业相对简单,没有过多设计。在查询连通块时使用了深度优先搜索。

2.第十次作业

  本次作业中的qlc一开始没有看懂,看了讨论区的分析之后,才理解了。

  维护了block结构,记录该block内的人和关系(点和边),在添加人时新增block,添加关系时合并block。

  最小生成树使用了Kruskal算法,先对边排序,从权最小的边开始,依次判断该边的两个端点是否在同一连通分量,如果不再则选择该边,否则舍弃,直到全部节点都在一个连通分量中。

3.第十一次作业

  最短路径问题使用了Dijkstra算法

二、bug修复

  出现了除零的bug,以及没有注意到qgps中1111的限制等

三、NetWork扩展

  新增Advertiser,Producer,Customer类继承自Person类,新增Produce类,设置一个属性表示是否发布了该产品的广告;

 

四、心得体会

  本单元的学习主要是对JML的理解分析,代码规格对于代码的实现有很大指导作用。但是JML只是确定了各个方法的规则与目的,具体的代码实现算法可以根据不同需求有不同的实现方法。

posted @ 2022-06-06 15:31  18373189  阅读(17)  评论(0编辑  收藏  举报