关于扩散的编码与连接时间

时间:2017-03-30 07:53:23

标签: java

我有一长串日志,其中包含“Time | ID_node1 | ID_node2 | ConnectionUP或ConnectionDown”,这将是我的输入。

我想要的输出是从我选择的初始节点开始的已连接节点列表。我知道编写这类程序并不难。节点在连接列表中的规则很少:

  1. 有一些初始活动节点组。
  2. 与初始节点连接的节点将是“活动节点”。
  3. 一旦节点成为活动节点,它就可以使其他节点处于活动状态。
  4. 连接时间必须至少为n秒才能成为活动节点。
  5. 到目前为止,当“初始活动节点”是使其他节点处于活动状态的唯一组时,我可以获得连接列表的列表。但是,我在添加规则时遇到问题“活动节点也可以使其他节点处于活动状态。”

    以下示例可以帮助您理解:

    1.0 p1 p3 UP

    1.0 p4 p6 UP

    1.0 p2 p5 UP

    2.0 p2 p5 DOWN

    2.0 P5 p8 UP

    3.0 p5 p6 DOWN

    7.0 p3 P8 UP

    12.0 p3 p8 DOWN

    13.0 p1 p3 DOWN

    如果“P1”是初始活动节点,则按时间= 12.0,连接节点列表应包含{p1,p3,p8},因为当t = 6时p3变为活动节点。

    如您所见,每秒的日志数量不同。所以我现在正在考虑:

    List L1: Node1ID | Node2ID | Int 
    
    for (int i = 1, i <= t, i++) {
    
      if L1 isEmpty()
        JUST GO TO line 15
      if L1 isNotEmpty()
        ADD 1 to Int section
        Check L1 contains 5 on Int section
      if do()
        ADD two nodes in ListofConnectedNode 
        Delete Duplicate in ListofConnectedNode
        Also delete in L1
    
      readALL log that has i
      if Log contains UP, 
        ADD to List:L1 that has (Node1ID & Node2ID, 1)
      if Log contains DOWN, 
        DELETE the list that contains both nodeIDs
    
    }    
    

    你们认为这可以在JAVA中使用吗?或者有更好的方法来实现我想要的东西吗?

0 个答案:

没有答案