摘要:
总结本单元作业的架构设计 分析时间复杂度后觉得无论怎样都不会超时,但稳妥起见还是选择离线算法,将多个查询的答案提前算好以确保O1查询;不方便离线的查询就边查边算了。 数据存储大多采用HashMap和HashSet,类图上的功能就简单的爆搜了,反正也不会超时——不超时就算胜利。其他的简单查询要求就借助 阅读全文
摘要:
一、实现规格所采取的设计策略 整体策略:先把所有规格整个读一遍,提前想好自己可能会用到哪些算法,以便在实现的时候采用合适的容器和实现方式。 第九次作业 通读一遍之后感觉除了查询关系需要进行优化,其余的操作直接对照规格实现就可以了。我最终使用常规的并查集来实现关系的查询,其他的操作均使用Arrayli 阅读全文
摘要:
一、线程安全相关 1.第五次作业 由于只有单部电梯,因此我没有使用调度器,直接让电梯和输入线程共享请求队列。我将二者对它的写入操作加锁,就保证了线程安全。 2.第六次作业 在加入了多部电梯之后,我在第五次电梯的基础上额外补充了一个调度器和一个主请求队列,同时每一步电梯享有一个单独的请求队列。这样一来 阅读全文
摘要:
一、基于度量分析 OCavg:类的方法的平均循环复杂度 OCmax:类的方法的最大循环复杂度 WNC:类的方法的总循环复杂度 ev(G):即Essentail Complexity,用来表示一个方法的结构化程度,范围在[1,v(G)]之间,值越大则程序的结构越“病态”,其计算过程和图的“缩点”有关。 阅读全文