2010-01-02 37 views
2

有一天,我不能正確exprese自己並得到關閉我的答案,所以這裏是我的第二個鏡頭:基於DAG應用

我需要創建一個基本的DAG(有向無環圖)應用程序,穿上普通的話,基於節點的應用程序。我不需要一個用於nw的圖形用戶界面,只是一個控制檯例子,它優先於整棵樹。

這裏是我到目前爲止有:

typedef struct Node 
{ 
    int type; 
    void (*excecute)(); //the callback function 

    struct Node *ins; 
    struct Node *outs; 

    } 

//some functions 

void root(float n,float *buffer) 
{ 
buffer[0]=sqrtf(n); 
} 

void sum(float a, float b, float *buffer) 
{ 
    buffer[0]=a+b; 
} 

void Output_screen(float val) 
{ 
printf(""The DAG output is: %f ", val); 
} 

節點可以有任何數量的輸入和輸出的任何赭(我要如何處理?)

我的問題是: 怎麼辦我構造了一個DAG,節點和的輸出是節點根的輸入,並且輸出是節點Output_screen的輸入?

節點(和)--->節點(根)--->節點(Output_screen)

我會preciate任何幫助,因爲我could'nt找到它的

任何嘖嘖
+0

我認爲如果你的圖是一個邊而不是節點的集合,這將會更容易。 – Stephen 2010-06-10 14:53:47

回答

0

你需要的是Knuth的副本。我不能足夠強烈地推薦他去了解這種基本的數據結構。

除此之外,您可以使用鏈表來表示節點列表。如果你使用C++,你也可以使用指針的STL向量。

+0

嗨,謝謝你的回答,儘管Knuth是什麼? 如果它是一本書,你能否提供給我全名給谷歌? 此外,我必須堅持使用C,而不是C++ 謝謝 – Raul 2010-01-04 14:23:46

+0

'計算機編程藝術'http://www.amazon.com/Art-Computer-Programming-Volumes-Boxed/dp/0201485419/ref=sr_1_1 ?ie = UTF8&s = books&qid = 1262624312&sr = 8-1 – bmargulies 2010-01-04 16:58:57

+0

非常感謝!是一個非常有趣,必須有書...但我仍然需要一個答案... 我怎麼能觸發節點樹的執行? – Raul 2010-01-04 20:09:34