问题背景
作战对抗是一个复杂的动态演变过程,将每一时刻的作战态势构建为作战网络并
进行分析,可以揭示作战的复杂性,为作战决策提供科学计算支撑。
节点类型
(1)探测节点S
(2)决策节点D
(3)影响节点1
(4)目标节点T
问题1
作战网络是一种有向异构图,即图中存在多种类型的节点,且节点间由有向边连
接。请解决如下问题:
1.设计节点的表示方法,并选择一种数据结构存储有向异构图;
2.初始化一个有向异构图:包含m类节点,其中第i类节点包含ni个节点,每类节
点间随机构建有向边。
3
D2
问题2
一个基本的作战任务由观察(Observe)、判断(Orient)、决策(Decide)、行动(Act)
构成,在作战网络中可由OODA环进行刻画,同时OODA环也存在多种变化形式。
请解决如下问题:
1.在一个有向异构图中,给定某种环的类型,搜索出所有该类型的环,并使用一
种数据结构进行保存。
2.分析上述算法的时间复杂度。
4
问题3
在作战网络中,一个节点的作用与通过该节点的作战环数量有正相关关系,通过
一个节点的作战环越多,说明该节点越重要,请解决如下问题:
1.使用2种以上排序算法,按通过节点的环数由大到小对节点进行排序。
2.对于你使用的排序算法,通过实验对比运行时间随节点数量的变化情况。
3.编写一个算法,按通过节点的环数计算出前k个节点,并分析算法的复杂度。
用C语言来做可有少量C++的内容