[英]How to detect cycle in a cycle in a Directed graph
我最近在亞馬遜的采訪中得到了一個問題,並想知道堆棧溢出的觀點。
問題是這樣的
輸入:由鄰接列表表示的有向圖
需要輸出:此圖表是否在一個周期中有一個周期,如果是,那些周期是什么。 循環條件中的循環定義如下:圖中有2個循環C1和C2,這兩個循環共享一個或多個邊,然后它們將被稱為循環中的循環。
在上圖中,可以看到有2個圓柱C-> D-> E-> F-> G-> H-> C,另一個循環表示為H-> I-> J-> G-> H ..我們可以看到這兩個周期具有邊G-> H作為共享邊,因此我們可以將它們稱為循環中的循環。
So tha answer will be yes there are cycles in a cycles and
the cyles are C->D->E->F->G->H->C and H->I->J->G->H
我在采訪中的方法是檢測所有周期(通過DFS遍歷)並且一旦檢測到在哈希映射中保持邊緣。 然后當找到另一個循環時,我再次將它們推入哈希。 這被禮貌地拒絕了,他在采訪中進一步討論,沒有進一步討論。 然后我認為找到所有周期都是一個難題。 我很困惑 。 有人可以澄清一下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.