日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python实现深度优先搜索_python中的深度优先搜索算法

發(fā)布時(shí)間:2023/12/10 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现深度优先搜索_python中的深度优先搜索算法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

假設(shè)我有一個(gè)函數(shù),它接受一個(gè)輸入($x iui$),然后經(jīng)過(guò)一個(gè)循環(huán)并生成一系列輸出($x{I,j}$)。然后,每個(gè)輸出可以再次作為同一函數(shù)的輸入,從而產(chǎn)生更多的輸出($x{i,j,k}$)。我試圖通過(guò)這個(gè)函數(shù)找到一組步驟,來(lái)達(dá)到一個(gè)特定的結(jié)束狀態(tài)。在

這是一個(gè)普遍的問(wèn)題,我的問(wèn)題是python中什么樣的代碼結(jié)構(gòu)可以處理這個(gè)問(wèn)題。在

以下是一些元代碼作為示例(盡管在實(shí)踐中可能更復(fù)雜):def f(x):

for i in range(n):

if some_condition:

yield g(x,i)

yield false

然后對(duì)于一些$x\u 0$和一些$y$,我們要尋找一個(gè)序列$x\u 0,x_1,\ldots,x_k$,這樣$x_k=y$,而$x{j+1}=g(x_j,i_j)$,對(duì)于{0,\ldots,k-1}$。在

要使用深度優(yōu)先搜索來(lái)實(shí)現(xiàn)這一點(diǎn),首先要計(jì)算$f(f(\ldots f(x)\ldots))$,直到它生成目標(biāo)結(jié)果或?yàn)閒alse。然后后退一步,從$f$得到第二個(gè)結(jié)果,然后重復(fù)(這是一個(gè)粗略的描述,但是你得到的想法是:基本上是深度優(yōu)先搜索)。在

在我看來(lái),yield關(guān)鍵字處理這個(gè)問(wèn)題的效率很低。您還必須處理$(x,f(x),f(f(x)),\ldots)$的堆棧(我認(rèn)為這是正確的術(shù)語(yǔ)),以便您在遇到死胡同時(shí)能夠后退。在

這個(gè)一般性的問(wèn)題是我經(jīng)常遇到的,我在某種程度上解決了它即席,但我想知道是否有一個(gè)很好的通用結(jié)構(gòu)來(lái)解決這個(gè)問(wèn)題,它自然而有效地處理堆棧并探索python中可能的解決方案樹(shù)。在

我希望這個(gè)問(wèn)題足夠清楚。我歡迎任何想法、評(píng)論、澄清或回答。在

總結(jié)

以上是生活随笔為你收集整理的python实现深度优先搜索_python中的深度优先搜索算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。