【发布时间】:2020-12-13 18:58:42
【问题描述】:
我刚刚开始做一个关于经典直流电路实验的有趣项目。我已经为串联电路设计了 UI 部分和后端。实际上发生的情况是,用户可以生成尽可能多(最多无限)组的电阻器、灯泡、电压源(目前为 1)、电流表和电压表,并以他们想要的任何方式(排列)连接它们。因此,在后端,我将这些连接存储为图形的边缘,其中电压源、电阻器、灯泡、电流表和电压表是节点。现在,只要用户“打开”电压源,我就会像 DFS 遍历一样遍历电路。因此,作为一个串联的连接图,我可以轻松地总结所有电阻器并计算整个电路的电流并将其显示在电流表上。 但问题是,如果用户将电路并联,那么如何解决这个问题。
我需要堆栈社区的一些建议/建议来帮助我解决问题。
【问题讨论】:
-
使用基尔霍夫定律 (en.wikipedia.org/wiki/Kirchhoff%27s_circuit_laws) 并求解得到的线性方程组。
-
感谢您的评论,我知道基尔霍夫定律,但我在问算法,如何知道在特定的分支处,电线分成两部分,这又可能进一步分成许多,一些虱子递归树。现在的问题是如何识别分支并计算单个分支的总电阻以使用基尔霍夫计算其父分支的电阻。
标签: algorithm data-structures graph-algorithm depth-first-search