怎樣窮舉完給定N個電阻的所有串並聯組合的阻值?

時間 2021-05-31 10:17:49

1樓:王贇 Maigo

這個問題等價於列舉 n 個變數用加法、乘法組成的算式。

列舉本身不難,但由於加法、乘法有交換律、結合律,得到的算式中會有大量的重複。如何避免重複,則是乙個有趣又有難度的問題。

避免重複的演算法可以參看我的專欄文章:

王贇 Maigo:10897 如何不重複地列舉 24 點算式?(上)王贇 Maigo:

10897 如何不重複地列舉 24 點算式?(中)王贇 Maigo:10897 如何不重複地列舉 24 點算式?

(下)其中中篇解決了本問題。

2樓:靈劍

如果只考慮串並聯的話,的確就是窮舉表示式樹。

不過我要提醒的是,並不是所有電阻組合都可以表示為串並聯,考慮5個電阻組成的電橋結構(四個電阻組成四邊形,另外乙個電阻接在對角線上,考慮另乙個對角線之間的電阻),它就不是乙個串並聯結構。所以對原問題來說,其實是需要窮舉指定邊數的連通圖的……

3樓:Harold

先無視各電阻阻值的區別,從空集開始,對於每下乙個電阻,為其分配起點(除第乙個電阻外不得為空)和終點(可以暫時為空),併入電路。

以上結束後迴圈並為每乙個仍為空的終點規定位置使電路只有乙個起點和終點。

然後對於每一種聯接方法,遞迴地窮舉所有位置不同電阻的情況。

複雜度大概是O(n!)吧。

4樓:李若夢

經@靈劍提醒,還有電橋之類的非二元運算,所以本答案是錯誤的。

以下是原答案

R1 O1 R2 O2 ... O[n-1] Rn其中,R1 R2 ... Rn 表示 n 個電阻的阻值O1 O2 ...

O[n-1] 表示 n-1 個算符:併聯和串聯,x並y=xy/(x+y),x串y=x+y

如果要找到所有可能的鏈結方式,對(#)式中的R和O的所有排列以及所有可能的加括號方式做列舉就可以了

有沒有多項式時間的演算法?我不知道

過給定n個點,存在唯一的四邊形,n的最小值為多少?如何證明?

胖大海 首先題主說的不對,兩個四邊形可以有無窮多個點重合,一條邊重合就行。另外你能找到兩個四邊形有8個點重合只能說明8個點有可能確定不了四邊形,任意數量的點都有可能確定不了四邊形。這個問題可以分兩步,乙個是k個點無論怎麼放都無法找到乙個唯一經過它們的四邊形 要麼0個要麼大於1個 第二是發現一組k 1...

給定乙個n維空間下的r維子空間,在什麼條件這個子空間存在一組基,滿足基的每個分量的模為1?

樸正歡 這個問題並不簡單吧,首先,可能性 你打算如何量化地衡量啊?粗略地講,r越大,則U的選擇越多,這個直覺應該是正確,因為顯然r n時,取A為DFT矩陣,U可以是任意矩陣 r 1時,則U本身必須具有unimodular entry。然而如何量化這一直感?其此,我認為假設較弱而追求的結論比較強。U ...

把乙個 PhD 讀成 N 個 PhD 是種怎樣的體驗?

已經完成的 1 IEOR 5G network的優化 排隊論分配 with simulation 2 ECON incomplete preference representation with experiment 3 FIN game theory為底corporate governance為皮...