我最近發現了圖和算法,並試圖解決涉及兩種不同類型頂點的特定問題:用戶和實體。詳情如下:查找此有向圖中的所有路徑
- 該圖是針對
- 我試圖找到一個所有路徑到B
- A總是用戶
- B可以是用戶或實體
- 如果B被用於搜索的用戶,最大深度爲3層的邊緣
- 如果B是一個實體,最大深度爲2層的邊緣
- 我不能穿過其從用戶的出站的任何邊緣,除非在U ser是A
雖然該圖有兩種類型的頂點,但它不是二部分。
到目前爲止,我已經設法創建了一個包含鄰接列表的頂點索引數組的圖對象。鄰接列表基於鏈接列表。
我想我需要某種形式的所有路徑算法的變體,但我不太確定。另外,不確定我是否應該看DFS或BFS。
我在PHP中工作,這使事情變得複雜,因爲大多數例子都是在Java中。我真的很喜歡的是僞代碼。
任何想法?謝謝!
安德魯,輸入將成爲邊緣的列表,U->訴輸出將是一個路徑列表,如A-> B,A-> X-> B,... –