1
在DFS遍歷中,遍歷adjlist
以獲取下一個未訪問頂點(由'1'
標記爲int visit[100]
),並通過從棧(= i)彈出下一個值進行回溯。這兩種說法如何不同?
第一個給我正確的答案,第二個崩潰了程序。
2條語句如何不同?
array=graph* //psuedo code
link=adjList*
head=adjListNode*
while(temp!=NULL) //temp=array->link[i].head->next
if(visit[temp->key]==1) //checking if visited
temp=temp->next;
else
break;
while(visit[temp->key]==1 && temp!=NULL)
temp=temp->next;
試試這個'while(temp!= NULL && visit [temp-> key] == 1)'。首先檢查不是'空'狀態,然後檢查訪問條件,它可能工作。 – Himanshu 2015-04-02 11:54:08
是的,這解決了這個問題。謝謝你Himanshu。 – purudpd 2015-04-02 12:20:41
您的歡迎。我保留這個作爲我對這個問題的答案。 – Himanshu 2015-04-02 12:22:18