我想基於幾個重疊事件的組合值來創建圖。我想爲在合成值的每個變化的一個數據點,所以對於一組這樣的事件:加法疊加事件的算法
11111111111
22222
55555555555555
3333333
^^^^^ ^ ^ ^ ^
(的數字表示值,以便爲3333333的值是3,x軸表示時間,所述^標記代表的變化時間戳結果被用於生成)
我想是這樣的輸出:
timestamp0: 0,timestamp1: 2,timestamp2: (2+1),timestamp3:1,
timestamp4:(5+1),timestamp5:5,timestamp6:0,timestamp7:3,timestamp8:0
它是這樣做的常見方式,或數據結構或算法通常用於解決這些問題類型?
我可以設法做到這一點,但我想知道是否已經有更好的方法。新事件將被動態添加,結果生成的性能非常重要。
除了第一應答後到達:
我當前的實現是遍歷事件的列表和添加當前的一組活動的事件,並檢查是否從去年的任何活動事件已經失效迭代(這些可以生成時間戳並從活動列表中移除)。當前的實現有很多循環和一些特殊情況處理(就像兩個事件同時停止一樣),所以我想知道你是否知道更聰明的方法?
22222是否意味着連續五次事件二,或者事件二持續了五次? – Eduardo 2012-03-02 14:15:17
這意味着5個時間單位的持續時間,抱歉的混淆 – user1245172 2012-03-02 14:27:19