2015-12-02 97 views
0

即時通訊尋找一種方法來找出兩個父元素的任何公共元素。 例如,父母這裏是1和2(忽略以下的值)數據結構/檢索元素父

enter image description here

而對於那些父母的公共值是91. 父 - 值,該值是在頂部和沒有父。 下一個例子: enter image description here

這裏我們有3個父母。併爲他們提供了相當多的共同元素。 : 91, 92, 93, 911, 912, 931, 932, 9311, 9312. 主要問題是得到COMON元件。 Mabey有什麼建議,我怎麼能存儲他們呢?

+0

這不是C++特有的,而是與語言無關的算法相關的問題。另外,你是否已經嘗試過任何東西?任何想法你怎麼能解決這個問題?你被卡住的任何特定點? –

+0

嗯,是的,你是對的,那不是特定的C++。那麼,我會寫一些遞歸函數mabey? –

+0

您將實現哪些數據結構來表示圖表?一張圖?我想有一個有向圖? – Matt

回答

1

從第一個節點運行一個BFS/DFS(並不重要),併爲每個節點存儲一個訪問位(比如在一個vector/array of bool中)。

現在再次從第二個節點運行相同的算法。每當你到達一個新節點時,檢查它是否在第一次運行時被訪問過。如果是這樣的話,那麼這個節點就是其中一個常見的父母,因此可以隨意輸出。